##################### 古いリリースノート ##################### UPDATE 後方互換性がある変更 ADD 後方互換性がある追加 CHANGE 後方互換性のない変更 FIX バグ修正 .. _v2022.2.3: 2022.2.3 =================== :リリース: 2023-02-08 変更履歴 -------- - [FIX] 依存している OpenSSL を 3.0.8 にアップデートしました - [FIX] 2023 年 4 月 4 日リリース予定の Chrome M112 でシグナリング時に接続が必ず失敗してしまう問題を修正しました - [FIX] ディスク障害が発生してログの書き込みに失敗した際に、障害が復旧した後でもログが書き込めなくなることがある問題を修正しました .. _v2022.1.4: 2022.1.4 =================== :リリース: 2023-02-08 変更履歴 -------- - [FIX] 2023 年 4 月 4 日リリース予定の Chrome M112 でシグナリング時に接続が必ず失敗してしまう問題を修正しました .. _v2022.2.2: 2022.2.2 =================== :リリース: 2023-01-05 変更履歴 -------- - [FIX] 音声ストリーミング機能で ``sora.conf`` の :ref:`sora_conf-default_audio_streaming_result_push` が ``true`` の際、プッシュ通知が行われない問題を修正しました - [FIX] 音声ストリーミング機能でロールが ``recvonly`` の場合にプッシュ通知が受信できない問題を修正しました - [FIX] 音声ストリーミング機能で API を利用して音声ストリーミングを開始した際、通知が正常に行われない問題を修正しました .. _v2022.2.1: 2022.2.1 =================== :リリース: 2022-12-21 変更履歴 -------- - [FIX] 開発ツールが Safari / Mobile Safari / Firefox で動作しない問題を修正しました .. _v2022.2.0: 2022.2.0 =================== :リリース: 2022-12-21 ハイライト --------------- - sora ログと internal ログを JSONL 形式で出力するようになりました - Google が公開した超低ビットレートコーデック Lyra に対応しました - 音声パケットを HTTP/2 経由で出力する音声ストリーミング機能を追加しました - 録画開始ととアーカイブ開始のウェブフックを追加しました - ウェブフックが mTLS と CA 証明書の指定に対応しました 互換なしの変更情報 ------------------ - 実験的機能であるセッションウェブフックのログ出力を req/res 形式に変更しました - 実験的機能であるセンシティブデータ向け設定 ``redact_archive_metadata_sensitive_data`` と ``redact_api_sensitive_data`` を廃止しました - 録画メタデータファイルと API はセンシティブなデータがあっても編集を行わないようにしました - クラスター機能の仕組みを変更したため互換性がなくなりました、クラスターの再構築をお願いします 変更履歴 -------- - [FIX] DTLS 処理終了時に起きていた問題を修正しました - [FIX] 録画ウェブフックの ``expired_at`` が秒単位の UNIX Time ではなくマイクロ秒になっていたのを修正しました - [FIX] 録画ウェブフックの ``split-archive.available`` と ``split-archive-*.json`` に offset が含まれていなかったのを修正しました - [FIX] ULPFEC が有効でな状態でパケロス発生時に録画に失敗することがある問題を修正しました - [FIX] 録画機能のウェブフックやファイルに含まれる統計値の名前 total_audio_discarded が間違っていたのを修正しました JSONL 形式でのログ出力 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [ADD] ``sora.conf`` にログフォーマットのレガシー形式を維持する ``legacy_log_format`` を追加しました - デフォルトは ``true`` です - これは移行用設定です - [ADD] ``sora.conf`` に JSONL 形式で出力しているログのレガシー拡張子を ``.log`` に維持する ``legacy_log_extension`` を追加しました - デフォルトは ``true`` です - これは移行用設定です - [ADD] ``sora.conf`` の ``legacy_log_format`` を ``false`` にすることで以下のログは JSONL 形式で出力されます - sora ログ - internal ログ - signaling ログ - api ログ - auth_webhook ログ - session_webhook ログ - session_webhook_error ログ - event_webhook ログ - event_webhook_error ログ - connection ログ - [ADD] ``sora.conf`` の ``legacy_log_extension`` を ``false`` にすることで JSONL 形式で出力されているログファイルの拡張子が ``.log`` から ``.jsonl`` に変更されます - ``sora.log`` が ``sora.jsonl`` に変更されます - ``internal.log`` が ``internal.jsonl`` に変更されます - ``signaling.log`` が ``signaling.jsonl`` に変更されます - ``api.log`` が ``api.jsonl`` に変更されます - ``auth_webhook.log`` が ``auth_webhook.jsonl`` に変更されます - ``session_webhook.log`` が ``session_webhook.jsonl`` に変更されます - ``session_webhook_error.log`` が ``session_webhook_error.jsonl`` に変更されます - ``event_webhook.log`` が ``event_webhook.jsonl`` に変更されます - ``event_webhook_error.log`` が ``event_webhook_error.jsonl`` に変更されます - ``connection.log`` が ``connection.jsonl`` に変更されます - [CHANGE] サポート用ログファイルである ``connection_created_wait_timeout_error/_.json`` の拡張子を ``.json`` から ``.jsonl`` に変更しました クラスター機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [CHANGE] クラスターの仕組みを変更したため、2022.1 系までのクラスターの仕組みとは互換性がありません - クラスターの初期化が必要になります - [ADD] クラスター初期化に利用する :ref:`20221221.InitCluster` API を追加しました - [CHANGE] クラスター機能の :ref:`20211215.ListClusterNodes` API の ``member_since`` を廃止しました - [CHANGE] クラスター機能の :ref:`20211215.ListClusterChannels` API の戻り値を変更しました - ``owners`` を追加し、その下にリストで ``node_name`` ``epoch`` ``epoch_latest`` ``connected`` を持つようにしました - ``node_in_charge`` を ``node_name`` に変更しました - ``node_in_charge_epoch`` を ``epoch`` に変更しました - ``node_in_charge_epoch_stale`` を ``epoch_latest`` に変更しました - ``node_in_charge_connected`` を ``connected`` に変更しました Lyra コーデックへの対応 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **これは実験的機能です** - [ADD] ``sora.conf`` に Google が公開した音声圧縮用超低ビットレートコーデック `Lyra `_ を有効にする設定 :ref:`lyra` を追加しました - デフォルトは ``false`` です - ``lyra = true`` のように設定してください .. .. - [ADD] ``sora.conf`` に Lyra 向けコーデックのビットレートを指定する :ref:`lyra_param_bitrate` を追加しました .. .. - デフォルトは ``6000`` です .. - ``3200`` または ``6000`` または ``9200`` を指定できます - [ADD] シグナリング接続時の音声コーデックタイプに Lyra を指定できるようになりました - 指定する際は大文字の ``LYRA`` で指定する必要があります - Lyra を利用する際は lyra_params を指定する必要があります - ``lyra_params`` には lyra のバージョンを指定する ``version`` とビットレートを指定する ``bit_rate`` が指定できます - :json:`{"audio": "codec_type": "LYRA", "lyra_params": {"version": "1.3.0", "bit_rate": 9200}}` - [ADD] 認証成功時に :json:`{"audio": true, "audio_codec_type": "LYRA", "audio_lyra_params": {"version": "1.3.0", "bitrate": 9200}` のように指定できるようになりました - この指定を利用する場合は ``sora_conf-legacy_webhook_audio_video_json_structure`` を ``false`` にする必要があります 音声ストリーミング機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **これは実験的機能です** - [ADD] ``sora.conf`` に音声ストリーミングのリクエスト先の URL を指定する :ref:`sora_conf-audio_streaming_url` を追加しました - [ADD] ``sora.conf`` に音声ストリーミングで利用するデフォルトのランゲージコードを指定する :ref:`sora_conf-default_audio_streaming_language_code` を追加しました - [ADD] ``sora.conf`` に音声ストリーミングでデフォルトで結果をプッシュ通知で行うかどうかを指定する :ref:`sora_conf-default_audio_streaming_result_push` を追加しました - [ADD] ``sora.conf`` に音声ストリーミングで mTLS を利用する秘密鍵を指定する :ref:`sora_conf-audio_streaming_tls_privkey_file` を追加しました - [ADD] ``sora.conf`` に音声ストリーミングで mTLS を利用する証明書を指定する :ref:`sora_conf-audio_streaming_tls_fullchain_file` を追加しました - [ADD] ``sora.conf`` に音声ストリーミングで利用する CA ルート証明書を指定する :ref:`sora_conf-audio_streaming_tls_verify_cacert_file` を追加しました - [ADD] 音声ストリーミングを開始する :ref:`20221221.StartAudioStreaming` API を追加しました - [ADD] 音声ストリーミングを終了する :ref:`20221221.StopAudioStreaming` API を追加しました - [ADD] 音声ストリーミングの解析結果を購読する :ref:`20221221.SubscribeAudioStreamingResultPush` API を追加しました - [ADD] 音声ストリーミングの解析結果を購読解除する :ref:`20221221.UnsubscribeAudioStreamingResultPush` API を追加しました 詳細は :doc:`音声ストリーミング機能 ` をご確認ください。 音声冗長化機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [CHANGE] ``sora.conf`` の ``audio_red`` のデフォルト値を ``false`` に変更しました センシティブデータ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [ADD] ``sora.conf`` にセンシティブなデータが含まれる可能性がある項目を ``"REDACTED"`` という文字列への書き換えをスキップする :ref:`skip_redact_sensitive_data` を追加しました - デフォルトでは ``false`` です - [CHANGE] ``sora.conf`` の ``redact_archive_metadata_sensitive_data`` を廃止しました - 録画メタデータファイルの ``event_metadata`` はセンシティブなデータの書き換え対象外としました - [CHANGE] ``sora.conf`` の ``redact_api_sensitive_data`` を廃止しました - API の ``event_metadata`` はセンシティブなデータの書き換え対象外としました 詳細は :doc:`センシティブデータ ` をご確認ください。 ウェブフックの audio と video 項目の JSON 構造のフラット化 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [ADD] ``sora.conf`` にウェブフックの audio と video 項目のレガシーな JSON 構造する ``sora_conf-legacy_webhook_audio_video_json_structure`` を追加しました - デフォルトでは ``true`` です - これは移行用設定です 詳細は :doc:`ウェブフックの audio と video 項目の JSON 構造のフラット化 ` をご確認ください セッションウェブフックログを req/res 形式に変更 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [CHANGE] ``session_webhook.jsonl`` の出力形式を req/res 形式に変更しました - [CHANGE] ``session_webhook_error.jsonl`` の出力形式を req 形式に変更しました 録画とアーカイブ開始ウェブフックを追加 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [ADD] 録画開始ウェブフック :ref:`recording.started` を追加しました - [ADD] アーカイブ開始ウェブフック :ref:`archive.started` を追加しました - [ADD] ``sora.conf`` に :ref:`sora_conf-ignore_recording_started_webhook` を追加しました - デフォルトでは ``false`` です - [ADD] ``sora.conf`` に :ref:`sora_conf-ignore_archive_started_webhook` を追加しました - デフォルトでは ``false`` です ウェブフック mTLS / CA 証明書指定対応 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [ADD] ``sora.conf`` にウェブフックのリクエスト先との通信で mTLS を利用する際の証明書を指定する :ref:`sora_conf-webhook_tls_fullchain_file` を追加しました - [ADD] ``sora.conf`` にウェブフックのリクエスト先との通信で mTLS を理世する際の秘密鍵を指定する :ref:`sora_conf-webhook_tls_privkey_file` を追加しました - [ADD] ``sora.conf`` にウェブフックのリクエスト先の証明書をベリファイするルート CA を指定する :ref:`sora_conf-webhook_tls_verify_cacert_file` を追加しました ウェブフック統計情報 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [ADD] ウェブフック関連の統計情報を GetStatsReport API に追加しました - ``total_auth_webhook_allowed`` - 認証ウェブフックで許可された数 - ``total_auth_webhook_denied`` - 認証ウェブフックで拒否された数 - ``total_successful_auth_webhook`` - 認証ウェブフックが成功した数 - ``total_failed_auth_webhook`` - 認証ウェブフックが失敗した数 - ``total_successful_session_webhook`` - セッションウェブフックが成功した数 - ``total_failed_session_webhook`` - セッションウェブフックが失敗した数 - ``total_successful_event_webhook`` - イベントウェブフックが成功した数 - ``total_failed_event_webhook`` - イベントウェブフックが失敗した数 クラッシュログ出力 API ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **これは実験的機能です** - [ADD] 意図的に crash.log を出力させる :ref:`20221221.GenerateCrashLog` API を追加しました - **この API はログ出力の動作確認にのみ利用してください** - この API はかならずステータスコード 500 を返します .. _v2022.1.3: 2022.1.3 =================== :リリース: 2022-11-02 変更履歴 -------- - [FIX] 依存している OpenSSL を 3.0.7 にアップデートしました - [FIX] データチャネルの性能ボトルネックを修正しました - [FIX] データチャネル利用時に高負荷になった状態が継続する問題を修正しました - [FIX] データチャネル利用時に意図しないメッセージを受信した際の問題を修正しました - [FIX] データチャネル利用時に意図しないエラーが発生する問題を修正しました - [FIX] データチャネル利用時に ``compress`` が ``true`` になっている Label のメッセージが壊れている場合の問題を修正しました .. _v2022.1.1: 2022.1.1 =================== :リリース: 2022-07-12 変更履歴 -------- - [FIX] 依存している OpenSSL を 3.0.5 にアップデートしました - [FIX] 録画機能の :json:`{"type": "split-archive-end"}` ウェブフックには解像度を含めないように修正しました - [FIX] 録画機能の ``split-archive-end-.json`` ファイルには解像度を含めないように修正しました - [FIX] ``sora.log`` にでるべきログの一部が ``internal.log`` に出力されていた問題を修正しました - [FIX] クラスターのノードが異常な状態になったタイミングで ``emergency`` ログを出力して終了するように修正しました - [FIX] sora.conf の ``default_multistream`` が true の時に、 ``"type": "connect"`` メッセージの ``role`` に ``sendrecv`` を指定し、かつ ``multistream`` を ``指定しない`` 場合に、エラーとなり接続できない問題を修正しました .. _v2022.1.0: 2022.1.0 =================== :リリース: 2022-06-29 ハイライト --------------- - Ubuntu 22.04 に対応しました - RHEL 9 に対応しました - サイマルキャスト機能が正式版になりました - スポットライト機能が正式版になりました - スポットライト機能がサイマルキャスト無効でも利用できるようになりました - サイマルキャスト機能やスポットライト機能利用時に、視聴されていないストリームは復号処理を行わない仕組みを追加しました - 録画機能で、録画ファイル分割出力機能を有効にした場合にも recording.report ウェブフック通知とレポートファイルが作成されるようになりました - クラスター利用時に、同一ライセンスを利用できる「最大ノード数ライセンス」の提供を開始しました - クラスター機能で録画状態を共有する機能を追加しました - クラスター機能でクラスター参加を自動で行う仕組みを追加しました - クラスター機能でネットワーク障害発生時に自動で復旧を試みる仕組みを追加しました - 特定の接続からのストリームを受信しないようにできる ``bundle_id`` を追加しました - センシティブなデータが含まれる可能性がある ``session_metadata`` や ``event_metadata`` の値を ``"REDACTED"`` という文字列に書き換える仕組みを追加しました 廃止情報 -------- - ``sora.conf`` の ``demo`` を廃止しました - ``sora.conf`` の ``remote_stats`` を廃止しました - ``sora.conf`` の ``unuse_metadata_list`` を廃止しました - ``sora.conf`` の ``use_re_offer`` を廃止しました - :ref:`GetAllRemoteStats` API を廃止しました - :ref:`GetChannelRemoteStats` API を廃止しました - :ref:`GetConnectionRemoteStats` API を廃止しました - :ref:`StopRecording` API の ``redirect`` を廃止しました 互換なしの変更情報 ------------------ - マルチストリームをデフォルトで有効にしました - ``sora.conf`` の ``default_multistream`` を ``false`` にすることでマルチストリームがデフォルトではなくなります - この設定は 2023 年 6 月リリースの Sora にて廃止されます - 詳細は :ref:`obsolete-sora-conf-default_multistream` をご確認ください - ``type: archive.end`` を ``type: split-archive.end`` に変更しました - ``sora.conf`` の ``split_archive_legacy_prefix`` を ``true`` にすることで ``type: archive.end`` がそのまま利用できます - この設定は 2023 年 6 月リリースの Sora にて廃止されます - 詳細は :ref:`obsolete-sora-conf-split_archive_legacy_prefix` をご確認ください - ``type: archive.split`` を ``type: split-archive.available`` に変更しました - ``sora.conf`` の ``split_archive_legacy_prefix`` を ``true`` にすることで ``type: archive.split`` がそのまま利用できます - この設定は 2023 年 6 月リリースの Sora にて廃止されます - 詳細は :ref:`obsolete-sora-conf-split_archive_legacy_prefix` をご確認ください - ``archive-_.webm`` を ``split-archive-_.webm`` に変更しました - ``sora.conf`` の ``split_archive_legacy_prefix`` を ``true`` にすることで ``archive-_.webm`` がそのまま利用できます - この設定は 2023 年 6 月リリースの Sora にて廃止されます - 詳細は :ref:`obsolete-sora-conf-split_archive_legacy_prefix` をご確認ください - ``archive-_.json`` を ``split-archive-_.json`` に変更しました - ``sora.conf`` の ``split_archive_legacy_prefix`` を ``true`` にすることで ``archive-_.json`` がそのまま利用できます - この設定は 2023 年 6 月リリースの Sora にて廃止されます - 詳細は :ref:`obsolete-sora-conf-split_archive_legacy_prefix` をご確認ください - セッションウェブフックでセッションの接続数が 0 のタイミングで ``multistream`` と ``spotlight`` がセッションと異なる新規接続が来た場合は既存のセッションを破棄し ``session.destroyed`` ウェブフックリクエストを送信した後に、新規でセッションを作成し ``session.created`` を送信するように変更しました - セッションウェブフックでセッションの接続数が 0 ではないタイミングで ``multistream`` と ``spotlight`` がセッションと異なる新規接続が来た場合は ``INVALID-SIGNALING-PARAMS`` エラーを返し切断するように変更しました - セッションウェブフック ``session.created`` と ``session.destroyed`` の ``created_time`` と ``destroyed_time`` を UNIX 時間に変更しました - ``sora.log`` と ``internal.log`` の時刻を RFC3339 準拠に変更しました - ``cluster`` 関連設定名を変更しました - ``cluster_node_name`` を ``node_name`` へ変更しました - ``cluster_api_url`` を ``external_api_url`` へ変更しました - ``cluster_signaling_url`` を ``external_signaling_url`` へ変更しました - ``sora_version`` を ``version`` に変更しました - ``cluster`` 関連 API の引数や戻り値を変更しました - クラスター機能を有効にしたときのモードを ``initial`` へ変更しました - クラスターに参加したときに自動でモードが ``initial`` から ``normal`` へ切り替わるよう変更しました 変更履歴 -------------------------- - [CHANGE] セッションウェブフック ``session.created`` の ``created_time`` を UNIX 時間に変更しました - [CHANGE] セッションウェブフック ``session.destroyed`` の ``created_time`` を UNIX 時間に変更しました - [CHANGE] セッションウェブフック ``session.destroyed`` の ``destroyed_time`` を UNIX 時間に変更しました - [UPDATE] 組み込みの開発ツールを ``2022.1.0`` にアップデートしました - [ADD] RHEL 9 x86_64 に対応しました - [ADD] Ubuntu 22.04 x86_64 に対応しました - [ADD] イベントウェブフック ``connection.created`` に RFC3339 形式で出力する ``created_timestamp`` を追加しました - [ADD] イベントウェブフック ``connection.updated`` に RFC3339 形式で出力する ``created_timestamp`` を追加しました - [ADD] イベントウェブフック ``connection.destroyed`` に RFC3339 形式で出力する ``created_timestamp`` を追加しました - [ADD] イベントウェブフック ``connection.destroyed`` に RFC3339 形式で出力する ``destroyed_timestamp`` を追加しました - [ADD] イベントウェブフック ``connection.destroyed`` に UNIX 時間で出力する ``destroyed_time`` を追加しました - [ADD] :ref:`GetStatsReport` API に Sora のバージョンを取得できる ``version`` を追加しました - [ADD] 認証成功時の H.265 の払い出しを追加しました - [ADD] 認証ウェブフックに ``simulcast_rid`` を追加しました - [ADD] Sora 内部で利用するファイルを書き出す ``data`` ディレクトリを追加しました - [ADD] ``sora.conf`` に Sora 内部で利用するファイルを書き出す ``data`` ディレクトリを指定する ``data_dir`` を追加しました - [FIX] Opus の RED の仕様変更ともない動作しなくなっていた問題を修正しました - [FIX] 0 番ポートでパケットが送られてきた場合の問題を修正しました - [FIX] DTLS で異常なパケットが送られてきた場合でも可能な限り丁寧に終了処理を行うように修正しました - [FIX] 異常な STUN パケットが送られてきた場合の問題を修正しました - [FIX] 録画した WebM ファイルの ``Cluster Timecode`` が負の値になると発生する問題を修正しました マルチストリームをデフォルトで有効化 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ マルチストリームをデフォルトで有効にしました。 いままでマルチストリームを利用する場合は、シグナリング接続時に ``"multistream": true`` を指定して有効にする必要がありました。これをデフォルトで有効に変更しました。 今後は、マルチストリームを利用しない場合は明示的に ``"multistream": false`` を指定する必要があります。 - [CHANGE] マルチストリームをデフォルトで有効に変更しました - [ADD] ``sora.conf`` にマルチストリームのデフォルト値を指定する ``default_multistream`` を追加しました - デフォルトでは ``true`` が設定されています - この設定は 2023 年 6 月リリース予定の Sora にて廃止します - 詳細は :ref:`obsolete-sora-conf-default_multistream` をご確認ください 例外的にスポットライト機能を利用するときは ``"multistream": true`` を明示する必要があります。 bundle_id の追加 ^^^^^^^^^^^^^^^^^^^^^^^^^^ 複数のコネクションを同じ端末から接続する際、それぞれのコネクションで同一の ``bundle_id`` を指定すると、 同一の ``bundle_id`` を指定した接続からの音声や映像、メッセージングを受信しなくなります。 画面共有の映像を受信したくない場合などにお使いください。 - [ADD] ``sora.conf`` に ``"type": "connect"`` 時に ``bundle_id`` を指定できるかどうかを設定する :ref:`signaling_bundle_id` を追加しました - デフォルトでは ``false`` が設定されています - [ADD] ``sora.conf`` に :ref:`signaling_notify_bundle_id` を追加しました - デフォルトでは ``true`` が設定されています - [ADD] ``"type": "connect"`` で ``bundle_id`` が指定できるようになりました - 詳細は :ref:`bundle_id の指定` をご確認ください - [ADD] 認証成功時の払い出しで ``bundle_id`` を指定できるようになりました - 詳細は :ref:`bundle_id の払い出し` をご確認ください sora.log と internal.log の出力 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [CHANGE] タイムスタンプの出力を RFC3339 準拠に変更しました - Sora 2021.2.7 まで - ``2022-03-07 02:54:26.847 UTC [info] [-/-/-] <0.1218.0> SORA | node_name=sora@192.0.2.1, version=2021.2.7`` - Sora 2022.1.0 から - ``2022-03-07T02:54:26.847130Z [info] [-/-/-] <0.1218.0> SORA | node_name=sora@192.0.2.1, version=2022.1.0`` 録画機能 ^^^^^^^^^^^^^^^^^^ - [CHANGE] 分割録画ファイルとメタデータファイルの出力名を ``archive-_.(json|webm)`` から ``split-archive-_.(json|webm)`` に変更しました - ``sora.conf`` の ``split_archive_legacy_prefix`` を ``true`` にすることで ``archive-_.(json|webm)`` を維持できます - [CHANGE] 録画分割時のウェブフックのタイプ ``"type": "archive.split"`` を ``"type": "split-archive.available"`` に変更しました - [CHANGE] 録画分割時のウェブフックのタイプ ``"type": "split.end"`` を ``"type": "split-archive.end"`` に変更しました - [CHANGE] 録画一時ファイルディレクトリ ``archive_tmp_dir`` に保存される録画一時ファイルは、録画が失敗した場合には削除されなくなりました - [ADD] ``report-.json`` に ``node_name`` と ``label`` 項目を追加しました - [ADD] ``sora.conf`` に分割録画ファイル名を ``archive-_.(json|webm)`` にする ``split_archive_legacy_prefix`` を追加しました - デフォルトは ``false`` です - この設定は 2023 年 6 月リリース予定の Sora にて廃止します - 詳細は :ref:`obsolete-sora-conf-split_archive_legacy_prefix` をご確認ください - [ADD] 録画の状態をクラスターで共有する仕組みを追加しました - [ADD] ``split_only`` に ``true`` を指定した場合に、 ``archive.end`` ウェブフックと対になる ``split-archive-end-.json`` ファイルを作成するようになりました - [ADD] ``split_only`` に ``true`` を指定した場合でも ``recording.report`` ウェブフックリクエストを飛ばすようになりました - [ADD] ``split_only`` に ``true`` を指定した場合でも ``report-.json`` ファイルを作成するようになりました - [ADD] 録画メタデータファイルとレポートファイルに ``label`` と ``node_name`` を追加するようにしました - [UPDATE] 録画で生成された WebM ファイルが Windows の ``Windows標準アプリケーションの"映画&テレビ"`` で正常に再生できない問題へ対応しました - Sora 側の問題ではなく ``Windows標準アプリケーションの"映画&テレビ"`` が WebM の仕様を守っていないことによる問題です サイマルキャストやスポットライト機能利用時の負荷削減 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [ADD] サイマルキャストやスポットライト利用時に誰も視聴していない音声や映像ストリームの復号を行わない処理を追加しました - [ADD] 統計 API の rtp 項目に ``tocal_decrypt_skipped_audio_srtp`` を追加しました - [ADD] 統計 API の rtp 項目に ``tocal_decrypt_skipped_video_srtp`` を追加しました - [ADD] 統計 API の simulcast.rtp.(r0|r1|r2) 項目に ``total_decrypt_skipped_srtp`` を追加しました サイマルキャスト無効でのスポットライト機能利用 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [ADD] スポットライト機能が ``"simulcast": false`` でも利用できるようになりました クラスター機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [CHANGE] クラスター有効時に起動した際のモードを ``initial`` モードに変更しました - [CHANGE] クラスターに参加したタイミングで自動で ``initial`` モードから ``normal`` モードに切り替わるように変更しました - [CHANGE] ``sora.conf`` の ``cluster_node_name`` を ``node_name`` に変更しました - [CHANGE] ``sora.conf`` の ``cluster_signaling_url`` を ``external_signaling_url`` に変更しました - [CHANGE] ``sora.conf`` の ``cluster_api_url`` を ``external_api_url`` に変更しました - [CHANGE] クラスター有効時に sora.log / internal.log にクラスターノード名を出力するように変更しました - [CHANGE] :ref:`20211215.JoinCluster` API の ``cluster_node_name`` を ``contact_node_name`` に変更しました - [CHANGE] :ref:`20211215.ListClusterNodes` API の ``cluster_node_name`` を ``node_name`` に変更しました - [ADD] クラスターから特定のノードの情報を完全消去する :ref:`PurgeClusterNode` API を追加しました - [ADD] ``sora.conf`` に Sora 起動時に自動でクラスター参加を試みる ``contact_node_name_list`` を追加しました - 詳細は :ref:`cluster-contact_node_name_list` をご確認ください - [ADD] ``sora.conf`` にネットワーク障害等発生時に自動で再接続を試みる ``cluster_auto_reconnect`` を追加しました - デフォルトは有効です - 詳細は :ref:`cluster-cluster_auto_reconnect` をご確認ください - [ADD] ネットワーク障害等発生時に自動で復旧を試みる仕組みを追加しました - 詳細は以下をご確認ください - :ref:`通信できるノードが過半数未満となった場合の挙動` - :ref:`通信できるノードが過半数以上となった場合の挙動` - :ref:`全ノードが過半数未満に所属した場合の挙動` 最大ノード数対応ライセンス ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ クラスター利用時に、複数のノードに同一のライセンスが利用できる最大ノードライセンスの提供を開始しました。 詳細は :ref:`max_nodes_license` をご確認ください。 - [CHANGE] 最大ノード数ライセンスに対応していないライセンスを複数のノードに適用し、クラスターを構築しようとすると ``DUPLICATE-LICENSE`` が出力されるように変更されました - 無制限ライセンスをご利用のお客様でクラスターを利用されている場合はサポートまでご連絡ください - [ADD] クラスター利用時に同一のライセンスを利用できる最大ノード数ライセンスに対応しました - **新規でライセンスを発行し直す必要がありますのでサポートまでご連絡ください** - 新しくライセンスに ``max_nodes`` という項目を追加し、この最大ノード数までは複数の Sora で同一のライセンスを利用できるようになります 統計機能 ^^^^^^^^^ - [ADD] 統計 API の rtp 項目に ``total_received_srtp_invalid`` を追加しました - [ADD] 統計 API の turn 項目に ``total_received_unknown_packet`` を追加しました - [ADD] 統計 API の turn 項目に ``total_received_stun_unknown`` を追加しました - [ADD] 統計 API の turn 項目に ``total_received_stun_invalid`` を追加しました - [ADD] 統計 API の turn 項目に ``total_received_turn_invalid_stun`` を追加しました - [ADD] データチャネルの破棄やリトライの回数をラベルごとに取得できるようになりました - データチャネルの破棄メッセージ数 ``total_data_channel_abandon_message`` を追加しました - データチャネルの再送メッセージ数 ``total_data_channel_retransmit_message`` を追加しました - データチャネルの ``DATA_CHANNEL_OPEN`` メッセージ数 ``total_data_channel_ack_message`` を追加しました - データチャネルの ``DATA_CHANNEL_ACK`` メッセージ数 ``total_data_channel_open_message`` を追加しました - [UPDATE] ``total_sent_data_channel_message`` から ``DATA_CHANNEL_OPEN`` メッセージを除外しました - [UPDATE] ``total_received_data_channel_message`` から ``DATA_CHANNEL_ACK`` メッセージを除外しました センシティブデータ編集済出力機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 詳細は :doc:`センシティブデータ ` をご確認ください。 - [CHANGE] ``auth_webhook.log`` に含まれる ``event_metadata`` の中身を編集済みを表す ``"REDACTED"`` という文字列に書き換える変更を行いました - [CHANGE] ``session_webhook.log`` に含まれる ``session_metadata`` と ``event_metadata`` の中身を編集済みを表す ``"REDACTED"`` という文字列にに書き換える変更を行いました - [CHANGE] ``event_webhook.log`` に含まれる ``event_metadata`` の中身を、編集済みを表す ``"REDACTED"`` という文字列に書き換える変更を行いました - ``event_webhook_error.log`` の ``event_metadata`` は書き換えを行いません - [ADD] ``sora.conf`` にAPI 戻り値に含まれるセンシティブな可能性があるデータを、編集済みを表す ``"REDACTED"`` という文字列に書き換える ``redact_api_sensitive_data`` を追加しました - デフォルトでは ``true`` - ``event_metadata`` の中身を ``"REDACTED"`` という文字列に書き換えます - [ADD] ``sora.conf`` に録画メタデータファイルに含まれるセンシティブな可能性があるデータを ``"REDACTED"`` という文字列に書き換える ``redact_archive_metadata_sensitive_data`` を追加しました - デフォルトでは ``true`` - ``event_metadata`` の中身を ``"REDACTED"`` という文字列に書き換えます .. _v2021.2.8: 2021.2.8 ======== :リリース: 2022-04-11 :対応 Chrome: M98 以降 :対応 Firefox: 97 以降 :対応 Safari: 15.3 以降 :対応 Edge: 98 以降 変更履歴 -------- - [FIX] 依存ライブラリ OpenSSL を 1.1.1n にアップデートしました .. _v2021.2.7: 2021.2.7 ======== :リリース: 2022-02-24 :対応 Chrome: M98 以降 :対応 Firefox: 97 以降 :対応 Safari: 15.3 以降 :対応 Edge: 98 以降 変更履歴 -------- - [CHANGE] 録画失敗時でも一時ファイルを削除しないようにしました - [FIX] PauseRtpStream API がイベントウェブフック connection.created を受け取ったタイミングで実行しても正常に動作しない問題を修正しました - [FIX] 録画ファイル分割出力のみの場合でも、一時ファイルが録画終了時まで削除されずに残っていた問題を修正しました .. _v2021.2.1: 2021.2.1 ======== :リリース: 2021-12-20 :対応 Chrome: M97 以降 :対応 Firefox: 95 以降 :対応 Safari: 15.1 以降 :対応 Edge: 97 以降 - [FIX] 録画機能利用時に ``sora.conf`` の :ref:`archive_tmp_dir` と :ref:`archive_dir` で指定される 2 つのディレクトリが異なるファイルシステムにある場合に、録画ファイルの生成に失敗する問題を修正しました .. _v2021.2.0: 2021.2.0 ======== :リリース: 2021-12-15 :対応 Chrome: M97 以降 :対応 Firefox: 95 以降 :対応 Safari: 15.1 以降 :対応 Edge: 97 以降 ハイライト --------------- - クラスター機能を追加しました - DataChannel を利用したメッセージング機能を追加しました - 統計エクスポーター機能を追加しました - スポットライト機能のフォーカス/アンフォーカスを変更する API を追加しました - ICE コネクションステート機能を追加しました - シグナリング通知に録画開始/終了の通知を追加しました - セッションウェブフックを追加しました - 音声冗長化機能に対応しました - AV1 コーデック利用時の録画に対応しました 廃止情報 -------- - CentOS 8 への対応を終了しました - 詳細は :ref:`obsolete-centos-8` をご確認ください - スポットライトレガシー機能を廃止しました - 詳細は :ref:`obsolete-spotlight-legacy` をご確認ください - 統計機能の ``rtp`` にある ``rtcp`` を廃止しました - 詳細は :ref:`obsolete-stats-rtcp` をご確認ください - ``sora.conf`` の ``extmap_allow_mixed`` 設定を廃止しました - 詳細は :ref:`obsolete-extmap-allow-mixed` をご確認ください - ``sora.conf`` の ``dcsctp_association_max_retrans`` 設定を廃止しました - 詳細は :ref:`obsolete-dcsctp_association_max_retrans` をご確認ください - 実験的機能である ``sora.conf`` の ``opus_param_clock_rate`` 設定を廃止しました - :ref:`obsolete-list-all-connections` API を廃止しました - 今後は :ref:`20201013.ListConnections` API をご利用ください。 - :ref:`obsolete-list-channel-clients` API を廃止しました - 今後は :ref:`20201013.ListChannelConnections` API をご利用ください 互換性なしの変更情報 --------------------- **変更点の不明点についてはサポートまでお問い合わせください** **猶予期間を儲けない変更となっておりますのでご注意ください** - :ref:`20201013.ListConnections` API の戻り値に含まれる ``connection_created_timestamp_sec`` の項目名を ``created_time`` に変更、単位を秒からマイクロ秒に変更しております - :ref:`20201013.ListChannelConnections` API の戻り値に含まれる ``connection_created_timestamp_sec`` の項目名を ``created_time`` に変更しており、単位を秒からマイクロ秒に変更しております 変更履歴 -------- - [CHANGE] ``connection.log`` のタイムスタンプを秒からマイクロ秒に変更しました - [CHANGE] Chrome 側の破壊的変更により Chrome M95 以前の AV1 への対応を廃止しました - AV1 を利用する場合は Chrome M96 以降をご利用ください - [ADD] ``sora.conf`` に TURN-TCP で Allocate-Success を遅延させる :ref:`turn_tcp_allocate_success_delay_time` を追加しました - デフォルトは ``100 ms`` です - 0-1000 ms の範囲で指定できます - [ADD] Sora 起動時に Sora のバージョンが INFO レベルで ``sora.log`` に出力されるようになりました - ``2021-12-15 12:34:56.789 UTC [info] [-/-/-] <0.235.0> SORA | node_name=sora@127.0.0.1, version=2021.2.0`` 移行 ^^^^^ - [CHANGE] ``sora.conf`` の ``use_re_offer`` が ``true`` の場合 ``type: update`` を Sora に送るとエラーになるよう変更しました - [CHANGE] ``sora.conf`` の ``use_re_offer`` のデフォルト値を ``true`` に変更しました - この設定は 2022 年 6 月リリース予定の Sora にて廃止します - [CHANGE] ``sora.conf`` の ``unuse_metadata_list`` のデフォルト値を ``true`` に変更しました - この設定は 2022 年 6 月リリース予定の Sora にて廃止します 開発ツール ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [CHANGE] デモ機能を **開発ツール** と名前を変更しました - [CHANGE] ``sora.conf`` の ``demo`` を ``true`` にした場合 :ref:`sora_conf-devtools` が有効になるように変更しました - ``sora.conf`` の ``demo`` は 2022 年 6 月のリリースにて廃止します - 詳細は :ref:`sora.conf の demo の廃止` をご確認ください - [ADD] ``sora.conf`` に :ref:`sora_conf-devtools` を追加しました - デフォルトは ``false`` です ウェブフック ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [ADD] 認証ウェブフックに ``node_name`` を追加しました - [ADD] イベントウェブフックに ``node_name`` を追加しました - [ADD] イベントウェブフックの ``recording.report`` に ``filename`` と ``file_path`` を追加しました - ``metadata_filename`` と ``metadata_file_path`` は 2022 年 12 月リリース予定の Sora で廃止します - 廃止対象は JSON 内の ``"data"`` 直下のフィールドのみで、 ``"archives"`` 以下にある ``metadata_filename`` と ``metadata_file_path`` は変更ありません セッションウェブフック ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 詳細は :doc:`セッションウェブフック ` をご確認ください。 - [ADD] ``sora.conf`` にセッションウェブフックの URL を指定する :ref:`session_webhook_url` を追加しました - [ADD] ``sora.conf`` にセッション生成時のタイムアウトを指定する :ref:`session_created_timeout` を追加しました - デフォルトは ``5 s`` です - [ADD] ``sora.conf`` に セッション破棄時のタイムアウトを指定する :ref:`session_destroyed_timeout` を追加しました - デフォルトは ``15 s`` です - [ADD] ``session.created`` セッションウェブフックを追加しました - セッションが作成されたタイミングで送信します - [ADD] ``session.destroyed`` セッションウェブフックを追加しました - セッションが破棄されたタイミングで送信します - [ADD] ``session.vanished`` セッションウェブフックを追加しました - ``block_new_connection`` または ``block_new_session`` モード時にすべてのセッションが破棄されたタイミングで送信します - [ADD] ``sora.conf`` に ``session.vanished`` をウェブフックリクエストとして送信しない :ref:`ignore_session_vanished_webhook` を追加しました - デフォルトは ``true`` です - [ADD] セッションウェブフックリクエスト送信時の HTTP ヘッダーに ``x-sora-session-webhook-type`` を追加しました - ヘッダーの値は ``type`` の値が入ります - [ADD] セッションウェブフックのログを出力する ``log/session_webhook.log`` を追加しました - [ADD] セッションウェブフックの失敗ログを出力する ``log/session_webhook_failed.log`` を追加しました - [ADD] :ref:`GetStatsReport` API に合計セッション生成回数 ``total_session_created`` を追加しました - [ADD] :ref:`GetStatsReport` API に合計セッション破棄回数 ``total_session_destroyed`` を追加しました モード機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 詳細は :doc:`モード機能 ` をご確認ください。 - [ADD] 新規セッションやコネクションを受け付けなくするモードの仕組みを追加しました - 初期値は ``normal`` です - ``sora.conf`` にて ``cluster`` を有効にしたときの初期値は ``block_new_connection`` です - [ADD] モードを切り替える ``ChangeMode API`` を追加しました - ``"mode": "normal"`` を指定するとすべての新規コネクションを受け付けます - ``"mode": "block_new_session"`` を指定することで新規セッションをブロックすることができます - ``"mode": "block_new_connection"`` を指定することで新規コネクションをブロックすることができます - [ADD] 現在のモードを取得する ``GetMode API`` を追加しました クラスター機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 詳細は :doc:`クラスター機能 ` をご確認ください。 - [ADD] クラスター機能利用時にどのノードへも接続ができない場合 ``NO-ACCEPTABLE-NODE`` を出力するようにしました - [ADD] 複数 Sora でクラスターを構築し、冗長化する機能を追加しました - [ADD] クラスター機能利用時に新規のチャネルへの接続する際、同時接続に余裕のある Sora ノードに割り当てる機能を追加しました - [ADD] クラスター機能利用時に既存のチャネルへの接続する際、そのチャネルへの接続が存在する Sora ノードに割り当てる機能を追加しました - [ADD] シグナリング接続時に別の Sora ノードにリダイレクトする ``"type": "redirect"`` を追加しました - リダイレクト先のシグナリング URL が ``"location": "wss://node01.example.com/signaling"`` に含まれます - [ADD] リダイレクト先のシグナリング URL を利用する際に ``"redirect": true`` を ``"type": "connect"`` に追加できるようにしました - [ADD] sora.conf にクラスター利用時にリダイレクトに利用する ``cluster_signaling_url`` の設定を追加しました - ``cluster_signaling_url = wss://node01.example.com/signaling`` - [ADD] sora.conf にクラスター利用時の Sora ノード名を指定する ``cluster_node_name`` の設定を追加しました - ``cluster_node_name = node01@192.0.2.10`` - [ADD] sora.conf にクラスター利用時に API URL を指定する ``cluster_api_url`` の設定を追加しました - ``cluster_api_url = https://node01.example.com/`` - [ADD] sora.conf にクラスター利用時のノード間通信に使用するポート番号を指定する :ref:`cluster_listen_min_port` と :ref:`cluster_listen_max_port` の設定を追加しました - デフォルトは :ref:`cluster_listen_min_port` が ``49010`` で、 :ref:`cluster_listen_max_port` が ``49020`` です - [ADD] クラスターに参加するための :ref:`JoinCluster` API を追加しました - クラスターからの離脱は ``bin/sora stop`` を実行します - [ADD] クラスターに参加しているノード一覧を取得するための :ref:`ListClusterNodes` API を追加しました - [ADD] クラスターに割り当てられているチャネル ID 一覧を取得するための :ref:`ListClusterChannels` API を追加しました 音声冗長化機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **この機能は Chrome 96 以降で利用できます** - [ADD] ``sora.conf`` に 音声冗長化機能を有効にする ``audio_red`` を追加しました。 - デフォルトは ``false`` です - 音声冗長化についての詳細は `PSA: opus+red enabled by default in M96 `_ を参照ください - [ADD] 1 チャネルへの接続が ``audio_red`` への対応が混在していてもやりとりできるようにしました。 録画機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [ADD] AV1 の録画に対応しました - この機能は Chrome 96 以降で利用できます - [ADD] :ref:`20161101.StartRecording` API にて ``metadata`` を指定可能にしました - ``metadata`` は JSON オブジェクトである必要があります - ``metadata`` はオプションです - [ADD] ``recording.report`` や録画メタデータファイルに :ref:`20161101.StartRecording` API で指定した ``metadata`` を出力するようにしました - 指定しなければ ``metadata`` が出力されません - [ADD] シグナリング通知を利用している場合、録画開始時に :ref:`signaling-notify-recording.started` が通知されるようになりました - [ADD] シグナリング通知を利用している場合、録画終了時に :ref:`signaling-notify-recording.stopped` が通知されるようになりました - [ADD] ``sora.conf`` に録画関連をシグナリング通知で送信するかどうかを指定する :ref:`signaling_notify_recording` を追加しました 統計エクスポーター機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ クライアントから送られてきた統計情報を HTTP/2 経由で外部へ出力する機能です。 詳細は :doc:`統計エクスポーター機能 ` をご確認ください。 - [ADD] ``sora.conf`` に統計エクスポーターの接続先を指定する :ref:`sora_conf-stats_collector_url` を追加しました - ``stats_collector_url = http://h2c.example.com:5890/collector`` - ``stats_collector_url = https://h2.example.com/collector`` - [ADD] 統計コレクターへ送信時の HTTP ヘッダーに ``x-sora-stats-exporter-type`` を追加しました - ヘッダーの値は ``type`` の値が入ります - [ADD] ``sora.conf`` に統計エクスポーターの数を指定する :ref:`sora_conf-stats_exporter_number` を追加しました - デフォルトは ``5`` です - [ADD] ``sora.conf`` に :ref:`sora_conf-stats_exporter_tls_fullchain_file` を追加しました - [ADD] ``sora.conf`` に :ref:`sora_conf-stats_exporter_tls_privkey_file` を追加しました - [ADD] ``sora.conf`` に :ref:`sora_conf-stats_exporter_tls_verify_cacert_file` を追加しました - [ADD] 頻繁に送らない項目を定義しました - 1 h に 1 回送ります - codec / local-candidate / remote-candidate / certificate / peer-connection / track-stream スポットライト機能 ^^^^^^^^^^^^^^^^^^ フォーカス/アンフォーカス挙動変更 API を追加しました。 - [ADD] スポットライトのフォーカス/アンフォーカス挙動を変更する :ref:`20211215.RequestSpotlightRid` API` を追加しました - [ADD] スポットライトのフォーカス/アンフォーカス挙動をリセットする :ref:`20211215.ResetSpotlightRid` API を追加しました - [ADD] スポットライトのフォーカス/アンフォーカス挙動を一括で変更する :ref:`20211215.BatchRequestSpotlightRid` API を追加しました ICE コネクションステート機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 詳細は :doc:`ICE コネクションステート機能 ` をご確認ください。 - [ADD] ``sora.conf`` に :ref:`sora_conf-ice_connection_state_disconnected_timeout` を追加しました - デフォルトは ``5 s`` です - [ADD] ``sora.conf`` に :ref:`sora_conf-ice_connection_state_failed_timeout` を追加しました - デフォルトは ``10 s`` です - [ADD] ``sora.log`` に warning で ``ICE-CONNECTION-DISCONNECTED`` が出力されるようになりました - ``1000 ms`` 間隔で 5 秒間 ``STUN Binding-Request`` を送っても 1 度も ``STUN Binding-Success`` が返ってこない場合に出力されます - ``1000 ms`` は ``sora.conf`` の :ref:`ice_connection_state_disconnected_timeout` にて変更できます - [ADD] ``sora.log`` に ``error`` で ``ICE-CONNECTION-FAILED`` が出力されるようになりました - この場合 Sora は接続を切断します - ``50 ms`` 間隔で 10 秒間 ``STUN Binding-Request`` を送っても 1 度も ``STUN Binding-Success`` が返ってこない場合に出力されます - ``50 ms`` は ``sora.conf`` の :ref:`ice_connection_state_failed_timeout` にて変更できます DataChannel 機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [CHANGE] 利用しない DataChannel を作成しない仕組みを追加しました - ``sora.conf`` の :ref:`sora_conf-signaling_notify` が無効の場合は ``label: notify`` の DataChannel は作成しません - ``sora.conf`` の :ref:`sora_conf-e2ee` が無効の場合は ``label: e2ee`` の DataChannel は作成しません - ``sora.conf`` の :ref:`sora_conf-user_agent_stats` が無効の場合は ``label: stats`` の DataChannel は作成しません - [CHANGE] ``dcsctp_association_max_retrans`` を廃止しました - 切断判定には ICE コネクションステート機能が利用されます メッセージング機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 詳細は :doc:`メッセージング機能 ` をご確認ください。 DataChannel を利用したメッセージをユーザーが提起して自由に送ることができる機能です。ラベルは ``#`` から始まる必要があります。 - [ADD] ``type: connect`` に ``data_channels`` を追加しました - メッセージ機能は ``[{"label": "#abc", "direction": "sendrecv"}, ...]`` で指定できます - メッセージのラベルを指定する ``label`` を追加しました - ``^#[a-zA-Z0-9][a-zA-Z0-9-]{1,30}$`` - メッセージのメッセージの方向を指定する ``direction`` を追加しました - ``sendrecv`` / ``sendonly`` / ``recvonly`` のどれかを指定して下さい - 方向はクライアントから見た視点で ``role`` と同様です - メッセージの順番を指定する :ref:`messaging-ordered` を追加しました - デフォルトは ``true`` です - メッセージのリトライ時間を指定する :ref:`messaging-max_packet_life_time` を追加しました - デフォルト指定無しです - 単位はミリ秒です - メッセージのリトライ回数を指定する :ref:`messaging-max_retransmits` を追加しました - デフォルト指定無しです - メッセージの圧縮を指定する :ref:`messaging-compress` を追加しました - デフォルトは ``false`` です - [ADD] ``sora.conf`` に :ref:`data_channel_messaging` を追加しました - デフォルトは ``false`` です - [ADD] 認証成功時の払い出しで ``data_channels`` を指定できるようにしました - ``"type": "connect"`` 時に、指定された ``data_channels`` を上書きできます - [ADD] ``sora.conf`` に :ref:`data_channel_messaging_only` を追加しました - デフォルトは ``false`` です ユーザーエージェント統計 API ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ リモート統計情報 API の名前を変更し整理した API です。 リモート統計情報 API は 2022 年 6 月リリースの Sora にて廃止しますので、 ユーザーエージェント統計情報 API に切り替えをお願いします。 - [CHANGE] ``remote_stats`` をデフォルト ``false`` にしました - [ADD] ``sora.conf`` に ``user_agent_stats`` を追加しました - デフォルトは ``true`` です - ``remote_stats`` は 2022 年 6 月にて廃止されます - [ADD] :ref:`ListUserAgentStats` API を追加しました - :ref:`GetAllRemoteStats` の代替 API です - [ADD] :ref:`ListChannelUserAgentStats` API を追加しました - :ref:`GetChannelRemoteStats` の代替 API です - [ADD] :ref:`GetUserAgentStats` API を追加しました - :ref:`GetConnectionRemoteStats` の代替 API です .. _v2021.1.4: 2021.1.4 ========= :リリース: 2021-10-29 :対応 Chrome: M95 以降 :対応 Firefox: 93 以降 :対応 Safari: 15.1 以降 :対応 Edge: 95 以降 変更履歴 -------- - [FIX] ネットワークが不安定な場合に録画が失敗する問題を修正しました - [FIX] Safari を利用した場合に特定条件で復号が失敗する問題を修正しました .. _v2021.1.2: 2021.1.2 ========= :リリース: 2021-09-17 :対応 Chrome: M93 以降 :対応 Firefox: 92 以降 :対応 Safari: 14.1 以降 :対応 Edge: 93 以降 変更履歴 -------- - [UPDATE] デモ機能で利用している sora-demo を 2021.1.6 にアップデートしました - [ADD] 切断 API の ``reason`` を指定した場合に、指定した ``reason`` が、イベントウェブフック ``connection.destroyed`` に ``disconnect_api_reason`` として含まれるようになりました - 今まで ``reason`` として入ってきていたのと同じ値が入ります - [ADD] ``"type": "disconnect"`` に ``reason`` を指定した場合に、指定した ``reason`` が、イベントウェブフック ``connection.destroyed`` に ``type_disconnect_reason`` として含まれるようになりました - [ADD] イベントウェブフック ``connection.*`` の ``data`` に ``"created_time": "connection.created 時の UNIX 時刻"`` を追加しました - [ADD] ``sora.conf`` にスポットライトでフォーカスされた後、一定時間追い出されなくなる :ref:`default_spotlight_focus_min_interval` を追加しました - デフォルトは ``2000 ms`` です - [FIX] スポットライト機能で複数人が音を出し続けていると頻繁にフォーカスが入れ替わる問題を修正しました - アンフォーカス後のフォーカスは、最低でも :ref:`default_spotlight_delayed_focus_interval` だけ待つようになりました - [FIX] スポットライト機能でアンフォーカスからフォーカスに変わるタイミングで音声や映像が配信されなくなる場合がある問題を修正しました - [FIX] スポットライト機能で自動アンフォーカスが指定した時間よりも速く行われる問題を修正しました - [FIX] IPv6 のみで正常に接続できない場合がある問題を修正しました - [FIX] クライアントから ``"type": "candidate"`` を送ることができる回数を 20 から 50 に変更しました - [FIX] DataChannel におけるエンドポイント障害検出カウンターのリセットタイミングを修正しました - [FIX] 一部の HTTP API のバリデーションが正常に動作していない問題を修正しました - [FIX] シグナリングが DataChannel に切り替わったタイミングで WebSocket のアイドルタイムアウトが無制限になるように修正しました - [FIX] SRTP/SRTCP の暗号が AES-GCM の場合に、長時間配信すると正常に復号できなくなる問題を修正しました - [FIX] sora.conf の不要なコメントを削除しました .. _v2021.1: 2021.1 ====== :リリース: 2021-06-23 :対応 Chrome: M91 以降 :対応 Firefox: 89 以降 :対応 Safari: 14.1 以降 :対応 Edge: 91 以降 廃止情報 -------- role の upstream と downstream を廃止 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ``role`` の ``upstream`` と ``downstream`` を廃止しました。 詳細は :ref:`obsolete-role-upstream-downstream` をご確認ください。 allow_client_id_assignment 設定を廃止 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 接続時や認証成功時に、常に client_id を指定できるようになり、 ``sora.conf`` の ``allow_client_id_assignment`` を廃止しました。 詳細は :ref:`obsolete-allow-client-id-assignment-conf` をご確認ください。 旧サイマルキャスト API を廃止 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ``Sora_20180820.ChangeSimulcastQuality`` API を廃止しました。 詳細は :ref:`obsolete-change-simulcast-quality-api` をご確認ください。 互換なしの変更情報 ------------------ 廃止以外の互換性がない機能変更はありません。 実験的機能から正式機能へ昇格 ---------------------------- - ``Sora_20201120.PushChannelByRole`` API - ``Sora_20201120.DisconnectChannelByRole`` API ハイライト --------------- - スポットライト機能に rid 指定機能を追加しました - スポットライト機能に遅延フォーカス機能を追加しました - スポットライト機能に自動アンフォーカス機能を追加しました - スポットライト機能にフォーカスなしの音声配信機能を追加しました - シグナリングを WebSocket から DataChannel へ切り替える機能を追加しました - DataChannel 経由のシグナリング利用時に WebSocket の切断を無視する機能を追加しました - より少ない CPU リソースでより多くの接続を処理できるようになりました 変更履歴 -------- - [UPDATE] デモ機能で利用している sora-demo を 2021.1 にアップデートしました - [UPDATE] より少ない CPU リソースで多くの接続を処理できるようになりました - [ADD] TURN-TCP 利用時の `Proxy Protocol v1 `_ へ対応しました - これに伴い :ref:`TURN-TLS、TURN-TCP、シグナリングで 443 番ポートを使用する` の内容が Sora 2021.1 向けに変更されています - nginx の変更はしなくても動作しますが、変更をお勧めします - [ADD] シグナリング ``"type": "offer"`` 時に配信で有効になっている ``audio`` または ``video`` の ``mid`` を含めるようにしました - 例: ``"type": "offer", "mid": {"audio": "audio_lFaJYL", "video": "video_lMjsoq"}`` - [ADD] ``"type": "udpate"`` の代わりに ``"type": "re-offer"`` を送れるように、 ``sora.conf`` に ``use_re_offer`` を追加しました - デフォルトは ``false`` です - この設定は 2021 年 12 月リリースの Sora にてデフォルト ``true`` に変更されます - この設定は 2022 年 6 月リリースの Sora にて廃止され、常に ``"type": "re-offer"`` が送られるようになります - [ADD] シグナリング通知メタデータの利用時に、 ``metadata_list`` の代わりに ``data`` を送れるように、 ``sora.conf`` に ``unuse_metadata_list`` を追加しました - デフォルトは ``false`` です - この設定は 2021 年 12 月リリースの Sora にてデフォルト ``true`` に変更されます - この設定は 2022 年 6 月リリースの Sora にて廃止され、常に ``data`` が送られるようになります - [FIX] 録画機能の利用時で映像が送られてこない際に WebM の PixelWidth / PixelHeight が 0 になる問題を修正しました - [FIX] 不安定な回線や音声パケットが送られてこなくなる場合にクライアント側でリップシンクが正常に行われず、音声と映像がずれてしまう問題を修正しました - [FIX] 音声クロックレートが 48000 Hz 固定になってしまう問題を修正しました - [FIX] スポットライトレガシーで recvonly が利用できてしまう問題を修正しました - [FIX] TURN-TCP で問題があった際に、シグナリングを切断しない限り接続が残り続ける問題を修正しました 統計機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [ADD] RTP ヘッダー拡張の統計情報を追加しました - [ADD] サイマルキャストの rid 単位の RTP 統計情報を追加しました - [ADD] サイマルキャストの rid 単位の RTP ヘッダー拡張統計情報を追加しました - [ADD] RTCP 統計情報を ``rtcp`` に移動しました - 2021 年 12 月のリリースにて ``rtp`` から RTCP 関連の統計情報を削除します スポットライト機能 ^^^^^^^^^^^^^^^^^^ **実験的機能** - [CHANGE] デフォルトの ``r0`` の ``maxFramerate`` を ``1.0`` から ``5.0`` に変更しました スポットライト機能: rid 指定 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **実験的機能** スポットライト利用時にフォーカス、アンフォーカスそれぞれで受信する映像を接続ごとに指定できるようになりました。 これによりモバイル端末や回線が不安定な場合は映像を一切受信しないなどの設定ができます。 - [ADD] アンフォーカス時に受信する rid を指定できるように、 ``sora.conf`` に :ref:`default_spotlight_unfocus_rid` を追加しました - デフォルトは ``r0`` - ``none``, ``r0``, ``r1``, ``r2`` を指定可能 - [ADD] フォーカス時に受信する rid を指定できるように、 ``sora.conf`` に :ref:`default_spotlight_focus_rid` を追加しました - デフォルトは ``r1`` - ``none``, ``r0``, ``r1``, ``r2`` を指定可能 - [ADD] アンフォーカス時に受信する rid を指定できるように、シグナリング ``"type": "connect"`` に ``spotlight_unfocus_rid`` を追加しました - デフォルトは ``sora.conf`` の :ref:`default_spotlight_unfocus_rid` の値が採用されます - ``none``, ``r0``, ``r1``, ``r2`` を指定可能 - [ADD] フォーカス時に受信する rid を指定できるように、シグナリング ``"type": "connect"`` に ``spotlight_focus_rid`` を追加しました - デフォルトは ``sora.conf`` の :ref:`default_spotlight_focus_rid` の値が採用されます - ``none``, ``r0``, ``r1``, ``r2`` を指定可能 - [ADD] アンフォーカス時に受信する rid を指定できるように、認証成功時の払い出しに、 ``spotlight_unfocus_rid`` を追加しました - デフォルトは ``sora.conf`` の :ref:`default_spotlight_unfocus_rid` の値が採用されます - ``"type": "connect"`` 時に、指定された ``spotlight_unfocus_rid`` を上書きできます - ``none``, ``r0``, ``r1``, ``r2`` を指定可能 - [ADD] フォーカス時に受信する rid を指定できるように、認証成功時の払い出しに ``spotlight_focus_rid`` を追加しました - デフォルトは ``sora.conf`` の :ref:`default_spotlight_focus_rid` の値が採用されます - ``"type": "connect"`` 時に、指定された ``spotlight_focus_rid`` を上書きできます - ``none``, ``r0``, ``r1``, ``r2`` を指定可能 スポットライト機能: 遅延フォーカス ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **実験的機能** スポットライト利用時に、ちょっとした物音やあいづちではすぐにフォーカスされないように、フォーカスを遅延させる機能を追加しました。 この機能によりサーバーからクライアントへのパケット流量を減らすことができるようになりました。 - [ADD] アンフォーカス時にフォーカスを遅延させるかどうかを指定できるように、 ``sora.conf`` に :ref:`default_spotlight_delayed_focus` を追加しました - デフォルトは ``true`` - [ADD] アンフォーカス時にフォーカスを遅延させる時間を指定できるように、 ``sora.conf`` に :ref:`default_spotlight_delayed_focus_interval` を追加しました - デフォルトは ``2000 ms`` スポットライト機能: フォーカスなしの音声配信 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **実験的機能** スポットライト利用時に、他の人にフォーカスが移った場合でも音声を配信し続ける機能を追加しました。 この機能によりスポットライトの数が少ない場合でも、他の人がフォーカスされたことにより音声が送られなくなる、といったことがなくなりました。 - [ADD] フォーカスなしでも音声を配信するかどうかを指定できるように、 ``sora.conf`` に :ref:`default_spotlight_unfocus_audio` を追加しました - デフォルトは ``true`` - [ADD] フォーカスなしでも音声を配信する上限レートを指定できるように、 ``sora.conf`` に :ref:`default_spotlight_unfocus_audio_rate_limit` を追加しました - デフォルトは ``2`` - 単位は ``1 音声ストリーム = 50 packets / s`` です スポットライト機能: 自動アンフォーカス機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **実験的機能** スポットライト利用時に、一定時間音声が配信されていない場合はアンフォーカスする機能を追加しました。 この機能によりサーバーからクライアントへのパケット流量を減らすことができるようになりました。 - [ADD] 音がない場合に自動でアンフォーカスするかどうかを指定できるように、 ``sora.conf`` に :ref:`default_spotlight_auto_unfocus` を追加しました - デフォルトは ``true`` - [ADD] 自動でアンフォーカスする無音時間を指定できるように、 ``sora.conf`` に :ref:`default_spotlight_auto_unfocus_interval` を追加しました - デフォルトは ``10 s`` - 1 ms 以上、30 s 以下 - API でフォーカスが固定されている場合は自動アンフォーカスの対象外になります DataChannel 機能: シグナリングの WebSocket から DataChannel への切り替え機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **実験的機能** .. note:: DataChannel は TURN を利用するため UDP が通らない場合でも問題なく繋がります。 .. important:: DataChannel 機能を利用する場合は Sora JavaScript SDK 2021.1 以降が必要になります シグナリングやシグナリング通知、プッシュ通知などで利用している WebSocket から DataChannel へ切り替えます。 **ただし WebSocket は切断判定に利用するため、Sora から切断することはありません** 。 - [ADD] ``sora.conf`` に :ref:`default_data_channel_signaling` を追加しました - デフォルトは ``false`` です - [ADD] シグナリング ``"type": "connect"`` で ``data_channel_signaling: boolean`` を指定できるようにしました - デフォルトは ``sora.conf`` の :ref:`default_data_channel_signaling` に設定された値です - [ADD] 認証成功時の払い出しで ``data_channel_signaling: boolean`` を指定できるようにしました - デフォルトは ``sora.conf`` の :ref:`default_data_channel_signaling` に設定された値です - ``"type": "connect"`` 時に、指定された ``data_channel_signaling`` を上書きできます - [ADD] シグナリング ``"type": "offer"`` 時に ``data_channel_signaling: boolean`` を払い出すようにしました - この払い出しは data_channel_signaling が true の時のみ有効です - [ADD] WebSocket から DataChannel へ切り替わった場合は ``"type": "switched"`` が WebSocket 経由で送られるようにしました - ``"type": "switched"`` を送ったタイミングからWebSocket 経由の ``"type": "ping"`` の間隔が 5 秒から 30 秒へ変更されます - ``"type": "switched"`` を送ったタイミングからWebSocket 経由の ``"type": "pong"`` を確認しなくなります 以下の機能が DataChannel に切り替わります。 - シグナリング - DataChannel の ``label`` は ``signaling`` です - 以下が利用できるメッセージタイプです - ``"type": "re-offer"`` - ``"type": "re-answer"`` - ``"type": "disconnect"`` - シグナリング通知 - DataChannel の ``label`` は ``notify`` です - 以下が利用できるメッセージタイプです - ``"type": "notify"`` - プッシュ通知 - DataChannel の ``label`` は ``push`` です - 以下が利用できるメッセージタイプです - ``"type": "push"`` - E2EE - DataChannel の ``label`` は ``e2ee`` です - 統計情報 - DataChannel の ``label`` は ``stats`` です - 以下が利用できるメッセージタイプです - ``"type": "req-stats"`` - ``"type": "stats"`` DataChannel 機能: WebSocket の切断を無視する機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **実験的機能** .. important:: WebSocket の切断を切断判定に利用しない場合、 DataChannel におけるエンドポイント障害検出が切断の判断に利用されます。 この判断は ``sora.conf`` の ``dcsctp_association_max_retrans`` の値に依存します。 - [ADD] ``sora.conf`` に :ref:`default_ignore_disconnect_websocket` を追加しました - デフォルトは ``false`` です - この値を ``true`` にした場合、 DataChannel 経由でのシグナリング有効時に WebSocket を切断しても、Sora はクライアントの切断と見なさずに接続が継続します - [ADD] ``"type": "connect"`` 時に ``ignore_disconnect_websocket: boolean`` を指定できるようにしました - デフォルトは ``sora.conf`` に設定された値です - この値を ``true`` にした場合、 DataChannel 経由でのシグナリング有効時に WebSocket を切断しても、Sora はクライアントの切断と見なさずに接続が継続します - [ADD] 認証成功時の払い出しに ``ignore_disconnect_websocket: boolean`` を指定できるようにしました - デフォルトは ``sora.conf`` に設定された値です - ``"type": "connect"`` 時に、指定された ``ignore_disconnect_websocket`` を上書きできます - この値を ``true`` にした場合、 DataChannel 経由でのシグナリング有効時に WebSocket を切断しても、Sora はクライアントの切断と見なさずに接続が継続します - [ADD] ``"type": "offer"`` 時に ``data_channel_signaling`` が ``true`` の場合 ``ignore_disconnect_websocket: boolean`` を払い出すようにしました DataChannel 機能: メッセージの圧縮機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **実験的機能** DataChannel で送受信するメッセージを圧縮して送受信できる機能です。 ``"type": "offer"`` 時に送られてくる ``data_channels: [{"label": "signaling", "compress": true}, ...]`` のように compress が true になっている場合は圧縮して送る必要があります。 - [ADD] ``"type": "offer"`` 時に DataChannel の情報を送るようにしました - ``data_channels: [{"label": "