リリースノート

CHANGE

後方互換性のない変更

UPDATE

後方互換性がある変更

ADD

後方互換性がある追加

FIX

バグ修正

NVIDIA Jetson JetPack SDK での利用は NVIDIA Jetson JetPack SDK をご確認ください。

2026.1.0

日付:

2026-08-dd

対応 Sora C++ SDK:

2026.2.1

対応 Sora:

2025.2.x / 2026.1.x

対応 Python:

3.12 / 3.13 / 3.14

  • [CHANGE] Ubuntu 22.04 LTS のサポートを終了しました
    • 対応プラットフォームを Ubuntu 26.04 LTS / Ubuntu 24.04 LTS に変更しました
  • [CHANGE] macOS Sonoma 14 のサポートを終了しました
    • 対応プラットフォームを macOS Tahoe 26 / macOS Sequoia 15 に変更しました
  • [CHANGE] SoraTransformableFrame のタイポ mine_typemime_type に修正しました
    • 誤った公開プロパティ名をそのまま残さないようにしました
    • mine_type は削除しました(alias は残していません)
  • [CHANGE] Ubuntu arm64 と Raspberry Pi OS の rootfs 生成を multistrap から署名検証付き sysroot builder に切り替えました
    • insecure な multistrap / --no-auth / AllowInsecureRepositories への依存を撤去しました
    • Raspberry Pi OS wheel の動作対象を Trixie 以降に変更しました(Bookworm 以前は非対応です)
    • libstdc++ 依存を 14 に引き上げ、 GLIBCXX_3.4.32 未満の環境を動作対象外としました
    • wheel の manylinux tag ( manylinux_2_35_aarch64 )は本変更では変更していません
    • Jetson の rootfs 生成は本変更の対象外とし、既存経路のまま残しました
    • 既存の _install/<target>/rootfs を持つローカル環境では、初回 build 前に該当 rootfs と _install/<target>/rootfs.version を手動で削除してください(sysroot builder は由来不明の既存 rootfs を --force 無しで拒否します)
  • [ADD] Ubuntu 26.04 LTS のビルド・E2E テストに対応しました
    • PyPI / GitHub Release への公開は Ubuntu 24.04 向け manylinux_2_38 wheel で賄います
  • [ADD] macOS Tahoe 26 のビルド・リリース・E2E テストに対応しました
  • [UPDATE] Ubuntu 24.04 向け wheel の manylinux tag を manylinux_2_35 から manylinux_2_38 に上げました
  • [UPDATE] Sora C++ SDK を 2026.2.1 にアップデートしました
    • WEBRTC_BUILD_VERSION を m150.7871.3.1 にアップデートしました
    • BOOST_VERSION を 1.92.0 にアップデートしました
    • CMAKE_VERSION を 4.4.2 にアップデートしました
  • [UPDATE] libwebrtc m148 で ArrayView が C++ 標準の std::span に移行したため追従しました
  • [UPDATE] nanobind3.0.0 にアップデートしました
    • ABI バージョンが 21 から 22 に変更されたため、拡張の再コンパイルが必要です
    • split mode の導入と、内紐化文字列キー・iteration・sequence 構築の高速化などのパフォーマンス改善が含まれます
    • NB_TRAMPOLINE の Size 引数が不要になる、 nb::none() がラッパー型になる、 nb::gil_scoped_acquireis_valid() が追加されるなどの API 変更があります
  • [FIX] Sora の破棄順序が原因で GC のタイミング次第でプロセスが SIGSEGV でクラッシュしうる問題を修正しました
    • Sora::~SoraPeerConnectionFactory を先に破棄した後に io_context を破棄していたため、 io_context に残ったハンドラーが握る sora::SoraSignaling の破棄が破棄済みの signaling スレッドへ marshal され use-after-free が発生していました
    • 破棄順序を「子への破棄通知 → io_context の停止・破棄 → factory の破棄」に修正しました
    • io スレッドや signaling スレッドとの相互待ちを防ぐため、スレッドの終了待ちの間は GIL を解放するようにしました
    • E2E テストの test_audio_sink_callbacks などで flaky に発生していた SEGV クラッシュの原因でした
  • [FIX] disconnect()OnDisconnect 待ちで永久にブロックしうる問題を修正しました
    • 最大 10 秒の有限待ちに変更し、待ち中の KeyboardInterrupt でも抜けられるようにしました
  • [FIX] SoraConnection のデストラクタで Disposed() が最大 3 回呼ばれ subscriber 通知が重複しうる問題を修正しました
    • DisposePublisher::Disposed()std::atomic<bool> disposed_ による冪等性ガードを追加しました
    • デストラクタ内の重複した Disposed() 呼び出しを削除し 1 回に集約しました
  • [FIX] SoraVideoFrame / SoraAudioFrame / SoraTransformableFrame の ndarray が親フレームへの参照を持たず UAF しうる問題を修正しました
    • data() / get_data() が返す ndarray の owner に親フレームを紐付けるようにしました
  • [FIX] SoraVideoFrame / SoraVideoSource が配列確保メモリを非配列 unique_ptr で保持していた未定義動作を修正しました
    • std::unique_ptr<uint8_t[]> に修正し、破棄時に delete[] が呼ばれるようにしました
  • [FIX] SoraVideoSourceDisposed の override が無く、ワーカースレッドの停止がデストラクタ依存だった問題を修正しました
    • Disposed()finished_ を立てて待機を解除し、 join はデストラクタに残すようにしました
  • [FIX] SoraConnection::OnPush が GIL を取得せずに Python コールバックを呼んでいた問題を修正しました
    • GIL 非保持の内部スレッドから Python C API を呼ぶ未定義動作であり、参照カウント競合によるメモリ破壊で push 受信時にプロセスが SIGSEGV でクラッシュしうる問題がありました
  • [FIX] 音声コールバックが GIL を取得せずに Python を呼び出していた問題を修正しました
    • SoraAudioSinkSoraAudioStreamSink の音声コールバックを GIL 保持下で実行するようにしました
  • [FIX] WebRTC Encoded Transform の Transform が GIL を取得せずに Python を呼び出していた問題を修正しました
    • SoraAudioFrameTransformer / SoraVideoFrameTransformerTransform を GIL 保持下で実行するようにしました
  • [FIX] SoraAudioSink.read() が待機中に GIL を解放していなかった問題を修正しました
    • read() はデータを待つ間ずっと GIL を保持しており、 read(timeout=T) がブロックする間、同一プロセスの他の Python スレッドが最大 T 秒間停止していました
  • [FIX] SoraAudioSink.read() がシグナル割り込み時に Python 例外を握り潰していた問題を修正しました
    • メインスレッドで read() の待機中にシグナル(Ctrl-C による SIGINT 等)を受け取ると、シグナルハンドラーが送出した例外を呼び出し側へ伝播せず握り潰していました
    • 加えて、シグナルで待機を抜けた際に、要求フレーム数に満たないバッファをそのまま読み出し、バッファ外アクセスによってプロセスのクラッシュやメモリ破壊に至りうる問題もありました
    • いずれもメインスレッドで read() を呼んだ場合にのみ発生し、ワーカースレッドなどメインスレッド以外で read() を呼ぶ一般的な使い方では影響しません
  • [FIX] SoraConnectionconnection_tp_clearon_rpc_ を解放していなかった問題を修正しました
    • connection_tp_traverseon_rpc_Py_VISIT で GC に報告しているのに connection_tp_clear が解放しておらず、traverse/clear が非対称で CPython の循環 GC の契約に反していました
    • on_rpc ハンドラーを含む参照循環を循環 GC が断ち切れず、接続オブジェクトのグラフ全体がリークしうる問題がありました
  • [FIX] rtc_log()PyFrame_GetCode の新規参照を解放せず参照リークする問題を修正しました
    • 使い終わった PyCodeObjectPy_DECREF し、Python C API 呼び出しを GIL 保持下に揃えました
  • [FIX] gil_scoped_acquire / gil_scoped_releasePy_IsInitialized() 偽のときに未初期化メンバーをデストラクタで読む未定義動作を修正しました
    • メンバーをデフォルト初期化し、early return 経路でもデストラクタが確定した値を読むようにしました
  • [FIX] SoraAudioSourceInterfaceaudio_observers_ がロックなしで操作される問題を修正しました
    • observer_lock_ で保護し、 SetVolume はスナップショット後にロック外でコールバックするようにしました
  • [FIX] SoraVideoSourcequeue_ / finished_ に明示的な同期が無い問題を修正しました
    • queue_mtx_std::atomic<bool> finished_ で保護し、待機は GILMutexLock を使うようにしました
  • [FIX] disconnect() 後の send_data_channel() / get_stats()conn_ の null チェック無しで SEGV する問題を修正しました
    • Connect() と同様に RuntimeError を返すようにしました
  • [FIX] SoraConnection::OnTracktransceiver / receiver が null のときに SIGSEGV しうる問題を修正しました
    • SoraMediaTrack 構築時の null 参照によるプロセスクラッシュを防ぐようにしました
    • null のときは警告ログのみ出力し、Python コールバックは呼ばないようにしました
  • [FIX] SoraAudioSource::OnData の 1 オーバーロードだけ track_ の null チェックが抜けていた問題を修正しました
    • 他のオーバーロードと同様に、publisher 破棄後は no-op となるようにしました
  • [FIX] SoraAudioSourceInterface が不正な sample_rate / channels を検査せずクラッシュしうる問題を修正しました
    • sample_rate < 100 または channels < 1 のとき ValueError を返すようにしました
  • [FIX] Sora::ConvertJsonValue が Python 整数を int にキャストして int32 の範囲超過で例外になる問題を修正しました
    • PyLong_Checknb::cast<int64_t> で大きな整数を通し、 bool 分岐は先に維持するようにしました
  • [FIX] client_cert / client_key / ca_certnb::bytes::c_str() で渡しており NUL バイトで切り詰められる問題を修正しました
    • std::string(c_str(), size()) でバイト列を忠実に伝搬するようにしました
  • [FIX] SoraAudioFrame の pickle 経路で int16_tuint16_t に詰め替えている型不整合を修正しました
    • VectorData() / __getstate__ / __setstate__ の全経路を std::vector<int16_t> に統一しました
    • pickle の後方互換性は切り捨てました(プロセス内一時データのためです)
  • [FIX] SoraFactory コンストラクタの throw std::exception() をメッセージ付き std::runtime_error に置き換えました
    • Python 側で RuntimeError として初期化失敗の原因が読み取れるようにしました
  • [FIX] SoraConnection::OnSetOfferAddTrack 失敗時にエラーを握り潰していた問題を修正しました
    • RTC_LOG(LS_ERROR) で失敗内容を出力し、運用切り分けに必要な情報を残すようにしました
  • [FIX] デフォルト User-Agent が Sora Unity SDK になっていたのを Sora Python SDK に修正しました
    • user_agent 未指定時のコピペ残骸で、Sora サーバー側のクライアント識別が誤っていました
  • [FIX] find_package(Threads REQUIRED) を呼んでいるが Threads::Threads をリンクしていなかった問題を修正しました
    • sora_sdk_extThreads::Threads を明示的にリンクし、 Sora::sora の transitive 依存に左右されないようにしました

2025.5.2

日付:

2025-12-22

対応 Sora C++ SDK:

2025.6.2

対応 Sora:

2025.1.x / 2025.2.x

対応 Python:

3.12 / 3.13 / 3.14

  • [FIX] video_h265_params への対応が洩れていたのを修正しました

2025.5.1

日付:

2025-12-08

対応 Sora C++ SDK:

2025.6.1

対応 Sora:

2025.1.x / 2025.2.x

対応 Python:

3.12 / 3.13 / 3.14

  • [FIX] Sora C++ SDK のバージョンを 2025.6.1 にアップデートしました
    • 最新の Raspberry Pi OS で libcamera が 0.6 に上がり動作しない問題を修正しました

2025.5.0

日付:

2025-12-01

対応 Sora C++ SDK:

2025.6.0

対応 Sora:

2025.1.x / 2025.2.x

対応 Python:

3.12 / 3.13 / 3.14

  • [ADD] Python 3.14 に対応しました
  • [ADD] Python 3.11 を非対応にしました
  • [ADD] Raspberry Pi OS 向けのパッケージを sora-sdk-rpi として PyPI に追加しました
    • uv add sora-sdk-rpi でインストールできます
    • Raspberry Pi OS Bookworm の arm64v8 に対応しています
  • [ADD] Raspberry Pi OS 向けに libcamera を利用できる Sora.create_libcamera_source() を追加しました
  • [ADD] Raspberry Pi OS 向けに V4L2-M2M API 経由で H.264 ハードウェアアクセラレーターを利用できる VideoCodecImplementation.RASPI_V4L2M2M を追加しました
    • Raspberry Pi 5 は H.264 ハードウェアアクセラレーターが搭載されていないため利用できません
  • [ADD] サイマルキャスト機能で初期の rid を指定する simulcast_request_rid オプションを追加しました - デフォルトは未指定です - simulcasttrue で指定する必要があります - sendrecv または recvonly でのみ有効です
  • [UPDATE] Sora C++ SDK のバージョンを 2025.6.0 にアップデートしました
    • WEBRTC_BUILD_VERSION を m143.7499.1.0 にアップデートしました
    • CMAKE_VERSION を 4.1.2 にアップデートしました

2025.4.0

日付:

2025-09-12

対応 Sora C++ SDK:

2025.5.0

対応 Sora:

2024.2.x / 2025.1.x

対応 Python:

3.11 / 3.12 / 3.13

  • [CHANGE] run.py をサブコマンド形式に変更しました - 従来: python run.py <target> - 新形式: python run.py build <target>
  • [UPDATE] Sora C++ SDK のバージョンを 2025.5.0 にアップデートしました
    • WEBRTC_BUILD_VERSION を m139.7258.3.0 にアップデートしました
    • CMAKE_VERSION を 4.1.3 にアップデートしました
    • BOOST_VERSION を 1.89.0 にアップデートしました
  • [UPDATE] .github/workflows 内のすべてのワークフローファイルを新しい run.py build 形式にアップデートしました
  • [UPDATE] nanobind を 2.9.2 にアップデートしました
  • [UPDATE] Sora C++ SDK のバージョンを 2025.5.0 にアップデートしました - WEBRTC_BUILD_VERSION を m139.7258.3.0 にアップデートしました - CMAKE_VERSION を 4.1.0 にアップデートしました - BOOST_VERSION を 1.89.0 にアップデートしました
  • [ADD] run.py に format サブコマンドを追加しました - C++ ファイルの clang-format によるフォーマット機能 - Python ファイルの ty によるタイプチェック機能
  • [FIX] GitHub Actions の check_ubuntu_wheel ジョブで uv 0.8 以降の externally managed Python 環境エラーを修正しました - uv run --with から uv pip install を使用する方式に変更 - checkouts せずに仮想環境を作成して wheel ファイルをテストするように変更

2025.3.0

日付:

2025-07-09

対応 Sora C++ SDK:

2025.4.0

対応 Sora:

2024.2.x / 2025.1.x

対応 Python:

3.11 / 3.12 / 3.13

  • [UPDATE] Sora C++ SDK のバージョンを 2025.4.0 にアップデートしました
    • WEBRTC_BUILD_VERSION を m138.7204.0 にアップデートしました
    • CMAKE_VERSION を 4.0.3 にアップデートしました
  • [ADD] __version__ でバージョンを取得できるようにしました
  • [ADD] Ubuntu 22.04 arm64 でのビルドを追加しました
  • [ADD] WebSocket 接続時に User-Agent を上書きする機能を追加しました
  • [ADD] on_rpc コールバックを追加しました
    • Sora 2025.2.0 から利用できる用になる予定です
  • [FIX] pyi ファイルを Python のバージョン毎に生成していなかった問題を修正しました
  • [FIX] Ubuntu arm64 での Python 3.11 と 3.12 に対応できていなかった問題を修正しました

2025.2.3

日付:

2025-05-23

対応 Sora C++ SDK:

2025.3.1

対応 Sora:

2024.1.x / 2024.2.x

対応 Python:

3.11 / 3.12 / 3.13

  • [FIX] 切断時に落ちる問題を解消するために Sora C++ SDK2025.3.1 にアップデートしました

2025.2.2

日付:

2025-05-15

対応 Sora C++ SDK:

2025.3.0

対応 Sora:

2024.1.x / 2024.2.x

対応 Python:

3.11 / 3.12 / 3.13

  • [FIX] Python 3.13 で nanobind によるメモリーリークが発生している問題を修正しました

2025.2.1

日付:

2025-05-01

対応 Sora C++ SDK:

2025.3.0

対応 Sora:

2024.1.x / 2024.2.x

対応 Python:

3.11 / 3.12 / 3.13

  • [FIX] PyPI を Organization に移行した事による Publishing ができない問題を修正しました

2025.2.0

日付:

2025-05-01

対応 Sora C++ SDK:

2025.3.0

対応 Sora:

2024.1.x / 2024.2.x

対応 Python:

3.11 / 3.12 / 3.13

  • [UPDATE] nanobind2.5.0 にアップデートしました
  • [UPDATE] Sora C++ SDK2025.2.0 にアップデートしました
    • WEBRTC_BUILD_VERSION を m136.7103.0.0 にアップデートしました
    • BOOST_VERSION を 1.88.0 にアップデートしました
    • CMAKE_VERSION を 4.0.1 にアップデートしました
    • OPENH264_VERSION を v2.6.0 にアップデートしました

2025.1.0

日付:

2025-03-19

対応 Sora C++ SDK:

2025.2.0

対応 Sora:

2024.1.x / 2024.2.x

対応 Python:

3.11 / 3.12 / 3.13

  • [CHANGE] macOS Sonoma 13 のサポートを終了しました
    • 今後は優先実装でのサポートとなります
  • [CHANGE] Python 3.10 のサポートを終了しました
  • [CHANGE] Sora() から use_hardware_encoder を廃止しました
    • 今後は Sora.video_codec_preference を利用してください
  • [CHANGE] mTLS で利用する client_certclient_key をファイルパスではなくファイルの中身を指定するように変更しました
    • str 型から bytes 型に変更しました
    • open("cert-key.pem", “rb”).read() などで読み込んだバイナリを渡すようにしてください
  • [CHANGE] シグナリング接続時の "type": "connect" 時に multistream 項目を送らないように変更しました
    • 今回の変更により Sora 2022.1.0 以前には接続できなくなります
  • [UPDATE] Sora C++ SDK2025.2.0 にアップデートしました
    • WEBRTC_BUILD_VERSION を m132.6834.5.8 にアップデートしました
    • BOOST_VERSION を 1.87.0 にアップデートしました
    • CMAKE_VERSION を 3.31.6 にアップデートしました
    • OPENH264_VERSION を 2.6.0 にアップデートしました
  • [UPDATE] nanobind2.5.0 にアップデートしました
  • [ADD] マルチ転送フィルター用の forwarding_filters を追加しました
    • 将来的に forwarding_filter は廃止する予定ですので、 forwarding_filters を利用してください
  • [ADD] Ubuntu 24.04 arm64v8 に対応しました
    • Python 3.12 でのみ対応しています
  • [ADD] Ubuntu 24.04 arm64 上で arm64v8 向けのビルドを行えるようにしました
  • [ADD] Windows x86_64で OpenH264 を利用した H.264 のデコードとエンコードが利用可能になりました
  • [ADD] AMD AMF を利用したハードウェアアクセラレーター機能に対応しました
  • [ADD] Sora.video_codec_preference を追加しました
    • コーデックのエンコード/デコードを細かく指定できるようになりました
    • 詳細は Sora.video_codec_preference をご確認ください
  • [ADD] エンコード時の劣化優先順位を指定する degradation_preference を追加しました
  • [ADD] Sora.create_connection() の引数に audio_opus_params を追加しました
    • Opus のパラメーターを指定できるようになりました
  • [ADD] WebRTC Encoded Transform に対応しました
    • SoraTransformableAudioFrameSoraTransformableVideoFrame を追加しました
    • SoraAudioFrameTransformerSoraVideoFrameTransformer を追加しました
    • create_connection() の引数に audio_frame_transformervideo_frame_transformer を追加しました
    • SoraMediaTrackset_frame_transformer() を追加しました
    • 詳細は WebRTC Encoded Transform をご確認ください
  • [ADD] Python 3.13 に対応しました
  • [ADD] CA 証明書を指定できる ca_cert を追加しました
    • open("ca.pem", “rb”).read() などで読み込んだバイナリを渡すようにしてください
  • [ADD] 受信したシグナリングメッセージを取得できる on_signaling_message コールバックを追加しました
    • connect / redirect / offer / answer / re-offer / re-answer / disconnect メッセージが取得できます
    • switched メッセージは SoraConnection.on_switched を利用してください
    • pingpong メッセージは取得できません
    • 詳細は SoraConnection.on_signaling_message をご確認ください
  • [ADD] シグナリングの WebSocket 終了時のコードと理由が取得できる on_ws_close コールバックを追加しました
    • SDK 側で WebSocket が切断された際には code1000reason"SELF-CLOSED" が返ります
    • 詳細は SoraConnection.on_ws_close をご確認ください
  • [ADD] 転送フィルターを複数指定できるマルチ転送フィルターに対応しました

2024.3.0

日付:

2024-08-05

対応 Sora C++ SDK:

2024.7.0

対応 Sora:

2023.2.x / 2024.1.x

対応 Python:

3.10 / 3.11 / 3.12

  • [CHANGE] Python 3.8 と 3.9 のサポートを終了しました
    • 今後は優先実装でのサポートとなります
  • [CHANGE] NVIDIA Jetson 向け sora_sdk バイナリを PyPI から削除しました
    • support/jetson-jetpack-6 ブランチでメンテナンスを継続します
    • 今後は PyPI 経由ではなく、GitHub Releases から whl ファイルをダウンロードして利用してください
  • [UPDATE] Sora C++ SDK を 2024.7.0 にアップデートしました
  • [UPDATE] nanobind を 2.0.0 にアップデートしました
  • [UPDATE] cmake を 3.29.6 にアップデートしました
  • [UPDATE] libwebrtc のバージョンを m127.6533.1.1 にアップデートしました
  • [UPDATE] Windows 向けビルドを Windows Server 2022 x86_64 に変更しました
  • [ADD] メッセージング機能の header に対応しました
  • [ADD] WebRTC Encoded Transform に対応しました
    • SoraTransformableAudioFrameSoraTransformableVideoFrame を追加しました
    • SoraAudioFrameTransformerSoraVideoFrameTransformer を追加しました
    • create_connection() の引数に audio_frame_transformervideo_frame_transformer を追加しました
    • SoraMediaTrackset_frame_transformer() を追加しました
    • 詳細は WebRTC Encoded Transform をご確認ください
  • [ADD] macOS 向けビルドに macOS 14 arm64 を追加しました
  • [ADD] sora_sdk に型を追加しました
  • [ADD] SoraConnectionget_stats 関数を追加しました
  • [ADD] Sora C++ SDK と libwebrtc のローカルビルドを利用できるようにしました
  • [FIX] SoraAudioSink.readtimeout を無視して失敗を返す問題を修正しました
  • [FIX] MSVC 内部コンパイルエラーにより Windows で nanobind のビルドができない問題を修正しました

2024.2.0

日付:

2024-04-09

対応 Sora C++ SDK:

2024.6.0

対応 Sora:

2023.2.x

対応 Python:

3.8 / 3.9 / 3.10 / 3.11 / 3.12

  • [CHANGE] Lyra のサポートを廃止し、以下のオプションを削除しました
    • audio_codec_lyra_bitrate
    • audio_codec_lyra_usedtx
    • check_lyra_version
  • [UPDATE] Sora C++ SDK のバージョンを 2024.6.0 に上げました
  • [UPDATE] WEBRTC_BUILD_VERSION を m122.6261.1.0 に上げました
  • [UPDATE] nanobind のバージョンを 1.9.2 に上げて固定したバージョンとしました
  • [UPDATE] ruff の最小バージョンを 0.3.0 に上げました
  • [UPDATE] BOOST_VERSION を 1.84.0 に上げました
  • [UPDATE] Intel VPL を利用した H.265 に対応しました
  • [ADD] Sora Python SDK Samples を examples に移動しました
  • [ADD] シグナリング "type": "switched" メッセージの受信を通知する on_switched コールバックを追加しました
  • [FIX] Ubuntu 20.04 arm64 NVIDIA Jetson 5.1.2 で AV1 が正常に配信されない問題を修正しました

既知の問題

  • Intel VPL を利用したときに H.264 の映像が正常に受信できない
    • Intel VPL の問題と Sora C++ SDK の両方に問題が発生しています
    • Sora C++ SDK の問題は修正され、動作が改善する予定です
    • 完全な修正は Intel VPL の不具合が修正される必要があります

2024.1.0

日付:

2024-02-20

対応 Sora C++ SDK:

2024.1.0

対応 Sora:

2023.2.x

対応 Python:

3.8 / 3.9 / 3.10 / 3.11 / 3.12

  • [CHANGE] Python フォーマッターを Ruff に変更しました
  • [CHANGE] SoraAudioSource.on_data の引数名を変更しました
  • [CHANGE] SoraVideoSource.on_captured の引数名を変更しました
  • [CHANGE] SoraVAD.analyze の引数名を変更しました
  • [CHANGE] SoraConnection.on_track の引数を SoraMediaTrack に変更しました
  • [UPDATE] Python 3.12 に対応しました
  • [UPDATE] nanobind の最小を 1.8.0 に上げました
  • [UPDATE] Sora C++ SDK のバージョンを 2024.1.0 に上げました
    • WebRTC m116 で cricket::Codec は protected になったので cricket::CreateVideoCodec に修正しました
    • WebRTC m118 でパッケージディレクトリが変更されたためそれに追従しました
    • WebRTC m120 の webrtc::EncodedImage API の変更に追従しました
    • WEBRTC_BUILD_VERSION を m120.6099.1.2 に上げました
    • BOOST_VERSION を 1.83.0 に上げました
    • CMAKE_VERSION を 3.27.7 に上げました
  • [UPDATE] ForwardingFilterversionmetadata を追加しました
    • WebRTC SFU Sora の 2023.2.x へ追従しました
  • [UPDATE] NVIDIA JetPack SDK を 5.1.2 に上げました
  • [ADD] SoraMediaTrack を追加しました
  • [ADD] 発話区間の検出が可能な SoraVAD を追加しました
  • [ADD] リアルタイム性を重視した AudioStreamSink を追加しました
  • [ADD] AudioStreamSink が返す音声フレームとして pickle が可能な AudioFrame を追加しました

既知の問題

  • C++ SDK の問題で NVIDIA JetPack SDK 5.1.2 での AV1 配信が正常に行えません
    • 2024.2.0 で問題は解消されています

2023.3.1

日付:

2023-07-13

対応 Sora C++ SDK:

2023.7.1

対応 Sora:

2023.1.x 以降

対応 Python:

3.8 / 3.9 / 3.10 / 3.11

  • [FIX] C++ SDK のバージョンを 2023.7.2 にアップデートしました
    • 特定のタイミングで切断が発生すると Closing 状態で止まってしまう問題を修正しました

2023.3.0

日付:

2023-07-06

対応 Sora C++ SDK:

2023.7.1

対応 Sora:

2023.1.x 以降

対応 Python:

3.8 / 3.9 / 3.10 / 3.11

  • [CHANGE] signaling_url を signaling_urls へ変更しました
    • 引数の型を str から List[str] に変更しました

2023.2.0

日付:

2023-07-03

対応 Sora C++ SDK:

2023.7.1

対応 Sora:

2023.1.x 以降

対応 Python:

3.8 / 3.9 / 3.10 / 3.11

  • [ADD] Ubuntu 22.04 x86_64 で OpenH264 を利用した H.264 のデコードとエンコードが利用可能になりました
    • 今までは HWA が無いと H.264 が利用できませんでしたが、 OpenH264 のバイナリをダウンロードし、設定することで利用可能になりました

2023.1.2

日付:

2023-06-28

対応 Sora C++ SDK:

2023.7.1

対応 Sora:

2023.1.x 以降

対応 Python:

3.8 / 3.9 / 3.10 / 3.11

  • [FIX] Windows 版のバイナリが正常に動作しない問題を修正しました

2023.1.1

日付:

2023-06-27

対応 Sora C++ SDK:

2023.7.1

対応 Sora:

2023.1.x 以降

対応 Python:

3.8 / 3.9 / 3.10 / 3.11

  • [FIX] connect 直後に disconnect すると落ちる問題を修正しました

2023.1.0

日付:

2023-06-19

対応 Sora C++ SDK:

2023.7.0

対応 Sora:

2023.1.x 以降

対応 Python:

3.8 / 3.9 / 3.10 / 3.11

  • [ADD] PyPI に sora_sdk として公開しました
  • [ADD] macOS 13 arm64 向けの whl パッケージへ対応しました
    • Python 3.8 / 3.9 / 3.10 / 3.11 の Python のバージョンに対応しました
  • [ADD] Windows 11 x86_64 向けの whl パッケージへ対応しました
    • Python 3.8 / 3.9 / 3.10 / 3.11 の Python のバージョンに対応しました
  • [ADD] Ubuntu 22.04 x86_64 向けの whl パッケージへ対応しました
    • Python 3.8 / 3.9 / 3.10 / 3.11 の Python のバージョンに対応しました
  • [ADD] Ubuntu 20.04 arm64 向けの whl パッケージへ対応しました
    • NVIDIA Jetson のみに対応しています
    • JetPack SDK 5 系のみに対応しています
    • Python 3.8 にのみ対応しています
  • [ADD] HTTP Proxy に対応しました
  • [ADD] クライアント認証 (mTLS) に対応しました
  • [ADD] サイマルキャスト機能に対応しました
  • [ADD] スポットライト機能に対応しました
  • [ADD] 転送フィルター機能に対応しました
  • [ADD] 音声コーデック Lyra に対応しました
  • [ADD] 映像コーデック VP9 と AV1 と H.264 のパラメーター設定に対応しました
  • [ADD] 音声ストリーミングの言語コードに対応しました
  • [ADD] データチャネルメッセージング対応しました
    • data_channel_signaling を指定できるようにしました
    • ignore_disconnect_websocket を指定できるようにしました
  • [ADD] データチャネルシグナリング対応しました
    • on_message コールバック有効化しました
    • data_channels を指定できるようにしました
  • [ADD] 音声と映像の無効化を利用可能にしました
  • [ADD] 音声と映像の送受信 / 送信 / 受信サンプルを追加しました
  • [ADD] メッセージング機能の 送受信 / 送信 / 受信サンプルを追加しました