# リリースノート

**CHANGE**
: 後方互換性のない変更

**UPDATE**
: 後方互換性がある変更

**ADD**
: 後方互換性がある追加

**FIX**
: バグ修正


## 2026.1.0

**メジャーアップデート**

**リリース**: 2026 年 6 月 24 日

### ハイライト

- OBS Studio 32.1 以降の WHIP サイマルキャストに対応しました
- クラスター機能利用時の負荷分散処理を強化しました
- クラスター機能利用時に、接続先ノードの範囲を指定できるようにしました
- ログの出力先ディレクトリを指定できるようにしました
- Ubuntu 26.04 x86_64 / arm64 版の提供を開始しました
- 暗号ライブラリを OpenSSL から AWS-LC に変更しました

### 正式版

- ネットワークの状態をシグナリング経由で通知する機能が正式版になりました

### 破壊的変更

今回のリリースで破壊的変更はありません。

### 廃止機能

今回のリリースで廃止される機能はありません。

### 変更履歴

- [ADD] Ubuntu 26.04 x86_64 / arm64 版の提供を開始しました
- [ADD] シグナリング利用時の offer メッセージの data_channels に `ordered` / `max_packet_life_time` / `max_retransmits` / `protocol` を含めるようになりました- `ordered` は常に含まれます
  - `max_packet_life_time` と `max_retransmits` と `protocol` はそれぞれ指定されている場合に含まれます
- [ADD] 録画機能利用時の `recording.started` と `recording.report` セッションウェブフックに、録画の開始または終了のきっかけを確認できる `trigger` フィールドを追加しました- `recording.started` の `trigger` には `api` / `auth_webhook` / `session_webhook` のいずれかが入ります
  - `recording.report` の `trigger` には `api` / `expired` / `session_destroyed` のいずれかが入ります
- [ADD] `signaling.jsonl` に他のログと同様にユニークな値を持つ `id` フィールドを追加しました
- [ADD] 認証ウェブフックログの `auth_webhook.jsonl` / `auth_webhook_error.jsonl` に `response_time_ms` フィールドを追加しました- `auth_webhook_url` 設定が未指定の場合はウェブフックを送信しないため、 `response_time_ms` キーを含めません
- [ADD] セッションウェブフックログの `session_webhook.jsonl` / `session_webhook_error.jsonl` に `response_time_ms` フィールドを追加しました- `session_webhook_url` 設定が未指定、もしくは `ignore_*_webhook` 設定で対象のウェブフックを無視するように指定した場合は、ウェブフックを送信しないため、 `response_time_ms` キーを含めません
- [ADD] [GetStatsReport](EXPERIMENTAL_API_STATS.html#bbbfca) API にウェブフック応答時間の累積合計時間 (ミリ秒) を計測する項目を追加しました- 認証ウェブフックは `total_auth_webhook_response_time_ms`
  - セッションウェブフックは `total_session_webhook_response_time_ms`
  - イベントウェブフックは `total_event_webhook_response_time_ms`
  - 統計ウェブフックは `total_stats_webhook_response_time_ms`
- [ADD] [GetStatsReport](EXPERIMENTAL_API_STATS.html#bbbfca) API にウェブフック応答時間のヒストグラム項目を追加しました- 認証ウェブフックは `auth_webhook_response_time_ms_buckets`
  - セッションウェブフックは `session_webhook_response_time_ms_buckets`
  - イベントウェブフックは `event_webhook_response_time_ms_buckets`
  - 統計ウェブフックは `stats_webhook_response_time_ms_buckets`
- [CHANGE] DataChannel 切り替え後の WebSocket シグナリングの `"type": "ping"` 送信間隔のデフォルト値を 30 秒から 15 秒に変更しました- 送信間隔は新たに追加された [switched_websocket_signaling_ping_interval](SORA_CONF.html#6c5676) で変更できます
- [FIX] 既に廃止している `signaling_notify_rtp_stream` の設定が `sora.conf` に残っていたので削除しました
- [FIX] H.265 コーデックで録画した MP4 ファイルが Apple QuickTime Player で再生できない問題を修正しました
- [FIX] AV1 コーデックで録画した MP4 ファイルのメタデータに FPS 情報が含まれていない問題を修正しました
- [FIX] WHIP 機能利用時に Answer SDP の RTP ヘッダー拡張の ID マップを固定しました

#### 暗号ライブラリを AWS-LC に変更

暗号ライブラリを OpenSSL から AWS が公開している OpenSSL 互換の暗号ライブラリである [AWS-LC](https://github.com/aws/aws-lc) に変更しました。
AWS-LC は OpenSSL と比較してセキュリティ面や性能面での優位性があります。

#### ログ出力先ディレクトリ指定

- [ADD] ログの出力先を指定できる [log_dir](SORA_CONF.html#ddcdf0) を追加しました- デフォルトは `log` です
  - 相対パスの場合は Sora のパッケージディレクトリ (`sora-<version>/`) からの相対パスになります
  - 絶対パスの場合は指定したパスになります

#### サイマルキャスト

- [ADD] サイマルキャスト機能の `simulcast_encodings` パラメーターに `priority` を指定できるようになりました- `very-low` / `low` / `medium` / `high`
- [ADD] サイマルキャスト機能の `simulcast_encodings` パラメーターに `networkPriority` を指定できるようになりました- `very-low` / `low` / `medium` / `high`

#### スポットライト機能

- [ADD] [GetStatsConnection](API_STATS.html#e79b61) / [GetStatsClient](API_STATS.html#ef69ae) / [GetStatsAllConnections](API_STATS.html#ef695a) API の `spotlight` に、発話開始からフォーカス取得までの累積遅延 (マイクロ秒) を計測する `total_spotlight_audible_to_focus_delay_us` を追加しました
- [ADD] [GetStatsConnection](API_STATS.html#e79b61) / [GetStatsClient](API_STATS.html#ef69ae) / [GetStatsAllConnections](API_STATS.html#ef695a) API の `spotlight` に、フォーカス取得成功回数を計測する `total_spotlight_focus_succeeded` を追加しました
- [FIX] スポットライト機能で遅延フォーカス無効時に、発話からフォーカス取得まで最大 500 ms 遅延する問題を修正しました

#### クラスター機能

クラスター利用時により安定的に負荷を各ノードに分散できるようになりました。

- [CHANGE] クラスターリレー機能でアフィニティ機能を有効にした際、今までは「空き接続数」が最も多いノードに接続していましたが、今後は「空き接続率」が最も高いノードに接続するようになりました- ノード単位での最大同時接続数制限を利用して最大同時接続数が異なる場合、より公平に接続先のノードを選択できるようになりました
- [ADD] クラスター利用時に同一セッションに大量の接続が集中した場合でも接続が特定ノードに偏るのを防止する仕組みを追加しました
- [FIX] クラスター利用時にテンポラリーノードが瞬断後復旧した場合に、まれにクラスターから除外されたままになる問題を修正しました

#### クラスターリレー機能利用時の接続先ノード範囲指定機能

**これは実験的機能です。**

クラスターリレー機能利用時に、接続先として利用するノードの範囲を限定できる [アフィニティ機能の接続先ノード範囲指定機能](CLUSTER.html#c6991a) を追加しました。この機能を利用することで、認証ウェブフックの認証成功時に払い出した `cluster_affinity_node_name_list` に指定した複数のノードをコネクション単位での接続先ノードとして限定することができます。

- [ADD] クラスターリレー機能利用時に、認証ウェブフックの認証成功時の払い出しで `cluster_affinity_node_name_list` に複数のノード名を指定することで、コネクション単位で接続先として利用するノードを限定できるようになりました- この機能は `cluster_affinity` が `true` と同時に払い出されている場合にのみ有効になります- [default_cluster_affinity](SORA_CONF.html#95466d) が `true` の場合でも、認証成功時の払い出しで `cluster_affinity` を `true` で払い出さない場合はこの機能は有効になりません
  - 利用には [最大ノード数ライセンス](LICENSE.html#aee259) が必要です
  - `cluster_affinity_node_name_list` 指定時のエラーを追加しました- `invalid_affinity_node_name_list` はノード名の不正や空リスト指定など、指定内容自体に問題がある場合に出力されます
    - `no_acceptable_node` は接続先として利用できるノードが指定した範囲に 1 つもない場合に出力されます

#### OBS Studio WHIP サイマルキャスト対応

[OBS Studio 32.1](https://github.com/obsproject/obs-studio/releases/tag/32.1.0) で追加された WHIP のサイマルキャスト機能に対応しました。

> **警告**
>
> Sora の WHIP サイマルキャストは OBS Studio の WHIP サイマルキャストにのみ対応しています。

- [ADD] OBS Studio 32.1 以降で利用できる WHIP サイマルキャストに対応しました- サイマルキャストのエンコーディングに [simulcast_encodings_file](SORA_CONF.html#dead73) を設定しても、 OBS Studio 側の設定が採用されるため適用されません
  - 認証成功時に [simulcast_encodings の払い出し](AUTH_WEBHOOK_RETURN.html#eebbba) を指定しても、 OBS Studio 側の設定が採用されるため適用されません
  - OBS Studio の WHIP サイマルキャスト利用時には、認証ウェブフックで `whip` と `simulcast` が `true` で送られてきます
  - OBS Studio の WHIP サイマルキャスト利用時に認証成功時の払い出しで `simulcast` に `false` を指定すると、 Sora の接続に失敗します
  - OBS Studio の WHIP サイマルキャスト利用時に合計レイヤー数に 4 を指定すると、 Sora の接続に失敗します
  - [whip_simulcast](SORA_CONF.html#5a85ec) が `false` の場合、 OBS Studio の WHIP サイマルキャストを利用すると、 Sora の接続に失敗します
- [ADD] OBS Studio で WHIP 利用時にサイマルキャストを利用するかどうかを指定する [whip_simulcast](SORA_CONF.html#5a85ec) を追加しました- デフォルトは `true` です
