# 古いリリースノート

**UPDATE**
: 下位互換がある変更

**ADD**
: 下位互換がある追加

**CHANGE**
: 下位互換のない変更

**FIX**
: バグ修正

## 2024.2.2

**リリース日**: 2024-11-29

- [FIX] `types` を `export` するように修正しました

## 2024.2.1

**リリース日**: 2024-11-29

- [FIX] リリースミスを修正しました

## 2024.2.0

**リリース日**: 2024-11-29

- [CHANGE] 廃止宣言から 4 年以上が経過したため `addstream` コールバックを削除しました- ブラウザでも既に非推奨から非標準とされています
- [CHANGE] 廃止宣言から 4 年以上が経過したため `removestream` コールバックを削除しました- ブラウザでも既に非推奨かつ非標準とされています
- [CHANGE] [fflate](https://www.npmjs.com/package/fflate) を依存から削除しました- 依存ライブラリが 0 になりました
  - [Compression Streams API](https://developer.mozilla.org/en-US/docs/Web/API/Compression_Streams_API) を利用するように変更しました- Chrome/Edge 80 以降
    - Firefox 113 以降
    - Safari 16.4 以降
- [CHANGE] メッセージを送信する `sendMessage` 関数を非同期に変更しました- `void` ではなく `Promise<void>` を返すようにしました
- [CHANGE] `forwardingFilter` 項目の型を `JSONType` から `ForwardingFilter` に変更しました- `ForwardingFilter` 型を追加しました
  - `ForwardingFilterAction` 型を追加しました
  - `ForwardingFilterRule` 型を追加しました
  - `ForwardingFilterRuleField` 型を追加しました
  - `ForwardingFilterRuleKindValue` 型を追加しました
  - `ForwardingFilterRuleOperator` 型を追加しました
- [CHANGE] E2EE 機能を削除しました
- [UPDATE] メッセージングの圧縮と展開を [fflate](https://www.npmjs.com/package/fflate) から [Compression Streams API](https://developer.mozilla.org/en-US/docs/Web/API/Compression_Streams_API) に変更しました
- [ADD] メッセージングのみを利用する `messaging` を追加しました
- [ADD] DataChannel シグナリングのみを利用した際の `"type": "close"` メッセージに対応しました
- [ADD] シグナリング項目に `forwarding_filters` を追加しました- 将来的に `forwarding_filter` は廃止予定です
- [FIX] Sora から API などで切断された場合の処理を改善しました- Sora から正常に切断された場合は `SoraCloseEvent` の `title` を `SHUTDOWN` に変更しました



## 2024.1.2

**リリース日**: 2024-07-09

- [FIX] "type": "offer" の simulcast の値が反映されていない問題を修正しました- @voluntas

## 2024.1.1

**リリース日**: 2024-06-17

- [FIX] 内部バージョンが canary になっていたリリースミスを修正しました- @voluntas

## 2024.1.0

**リリース日**: 2024-06-07

- [CHANGE] オーディオコーデック LYRA のサポートを削除しました
- [CHANGE] シグナリングオプションの multistream は false の時のみレガシーストリームを使用するようにしました- レガシーストリームを使用したい場合は multistream: false の指定をしてください
- [CHANGE] 挙動と関数名が一致しないため `stopAudioTrack` と `stopVideoTrack` を非推奨にしました- 今後は `removeAudioTrack` と `removeVideoTrack` を利用してください
- [CHANGE] `examples` を Vite を利用して動かすように変更しました
- [CHANGE] `examples` を クラスベースに変更しました
- [ADD] `removeAudioTrack` と `removeVideoTrack` を追加しました- `stopAudioTrack` と `stopVideoTrack` の名前を変更しただけの関数です

詳細な変更履歴は  をご確認ください。

## 2023.2.0

**リリース日**: 2023-12-12

- [CHANGE] Nodejs の対応バージョンから 16 系を落としました
- [CHANGE] フォーマッター/リンターを Biome に変更しました
- [CHANGE] テストツールを Vitest に変更しました
- [CHANGE] パッケージ管理ツールを pnpm に変更しました
- [CHANGE] dist/ 以下をリポジトリに含めるないようにしました
- [ADD] `"type": "offer"` で受け取った `session_id` を保持するようにしました
- [ADD] Sora 2023.2.0 で対応した H.265 のパラメータ指定に対応しました- `ConnectionOptions` 型に `videoH265Params` フィールドを追加しました
- [FIX] ユーザが直接使わない型には @internal を指定して .d.ts に含まれないようにしました
- [FIX] `stopVideoTrack` で例外を掴んでしまっていたのを修正しました

## 2023.1.0

**リリース日**: 2023-06-21

- [UPDATE] Sora 2023.1.0 で入った転送フィルター機能を接続オプションで指定できるようにしました- `ConnectionOptions` 型に `forwardingFilter` フィールドを追加しました
- [UPDATE] Sora 2023.1.0 で入った SDP 再利用機能に対応しました
- [UPDATE] オファー SDP のメディアポートに 0 を指定することで古いトランシーバーを解放できるようにしました- Firefox は 0 ポートを指定するとエラーになるため、 SDK 側で従来の 9 に置換しています
- [ADD] 最新版の Safari / Mobile Safari で Lyra コーデックを使用可能にしました
- [ADD] 接続オプションとしてビデオコーデック用パラメータの送信を追加しました- `ConnectionOptions` 型に `videoVP9Params` `videoH264Params` `videoAV1Params` フィールドを追加しました

## 2022.3.3

**2022.3.2 からバージョン情報以外の変更点はありません**

- [FIX] npm 最新バージョンへのリリースミスを修正しました。

## 2022.3.2

**リリース日**: 2023-02-10

- [FIX] ミュート状態で接続すると、replace(Video|Audio)Track した場合に画像・音声データが送信されない問題を修正しました

## 2022.3.1

**リリース日**: 2022-12-21

- [FIX] E2EE が有効かどうかの判定を undefined ではなく null で行うよう修正しました

## 2022.3.0

**リリース日**: 2022-12-20

- [UPDATE] E2EE 有効時に Lyra コーデックを使用できるようにしました

## 2022.2.0

**リリース日**: 2022-12-13

- [CHANGE] ts-jest を @swc/jest に変更しました
- [CHANGE] サンプルの sora-e2ee-wasm のダウンロード先を変更しました
- [CHANGE] sora.min.js を削除しました
- [ADD] audioCodecType に "LYRA" を追加しました- 注意: 現時点では Lyra コーデックと E2EE の併用はできず、両方が指定された場合には E2EE が優先されます
- [ADD] Sora.initLyra() 関数を追加しました- Lyra でエンコードされた音声を送信ないし受信する場合には、事前にこの関数を呼び出しておく必要があります
  - wasm やモデルファイルのダウンロードは実際に必要になったタイミングで遅延して行われます
- [ADD] ConnectOptions に audioLyraParamsUsedtx を追加しました
- [ADD] ConnectOptions に audioLyraParamsBitrate を追加しました
- [ADD] audio_streaming_language_code を追加しました
- [FIX] 廃止になった opus_params の clock_rate を削除しました

## 2022.1.0

**リリース日**: 2022-6-19

- [CHANGE] 切断処理時に MediaStream の停止処理をしないように変更しました
- [CHANGE] ConnectionOptions からシグナリング type: connect メッセージを生成する仕組みを変更しました- multistream オプションが false の場合、シグナリングメッセージに multistream: false を含めるよう変更しました
  - multistream フラグの値に関係なく spotlight オプションをシグナリングメッセージに含めるよう変更しました
  - spotlight フラグの値に関係なく spotlightFocusRid オプションをシグナリングメッセージに含めるよう変更しました
  - spotlight フラグの値に関係なく spotlightUnfocusRid オプションをシグナリングメッセージに含めるよう変更しました
  - spotlight フラグの値に関係なく spotlightNumber オプションをシグナリングメッセージに含めるよう変更しました
  - simulcast フラグの値に関係なく spotlightNumber オプションをシグナリングメッセージに含めるよう変更しました
- [ADD] sendrecv オブジェクトのオプションに bundle_id を追加しました
- [UPDATE] sendrecv API を使用して接続する場合に multistream option の初期値が true になるよう修正しました
- [UPDATE] sendrecv API を使用して multistream: false で接続した場合、Sora との接続前に例外が発生するように修正しました
- [CHANGE] connectedSignalingUrl は現在接続中の WebSocket の URL ではなく type offer メッセージを受信した URL を返すようにしました- ignoreDisconnectWebSocket を使用して WebSocket を切断した場合にも URL を返すように修正しました
- [UPDATE] SendRecv オブジェクト に contactSignalingUrl プロパティを追加しました

[古いリリースノート](old_release.html) はこちら

## 2021.2.3

**リリース日**: 2022-02-10

- [FIX] メッセージング機能で文字列データが送信されてきた場合にそのまま message callback に渡していた問題を修正しました

## 2021.2.2

**リリース日**: 2022-02-02

- [FIX] fflate package のバージョンを 0.7.1 から 0.7.3 に更新しました

## 2021.2.1

**リリース日**: 2022-01-27

- [FIX] type redirect 時のシグナリングで接続エラーになった場合、例外が発火しなかった問題を修正しました

## 2021.2.0

**リリース日**: 2021-12-15

- [UPDATE] simulcast 時の transceiver 判定条件に offer.mids.video での分岐を追加しました
- [UPDATE] 複数パッケージの管理を lerna から npm workspace に変更しました
- [ADD] メッセージング機能を追加しました- sendrecv オブジェクトのオプションに datachannels を追加しました
  - sendrecv オブジェクトに sendMessage API を追加しました
  - sendrecv オブジェクトに datachannels プロパティを追加しました
  - on callback に "message" を追加しました
  - on callback に "datachannel" を追加しました
- [CHANGE] 複数 Signaling URL への接続に対応しました- Connection オブジェクト第一引数の type を `string` から `string | string[]` に変更しました
  - Connection オブジェクト signalingUrl プロパティの戻り値の type を string から `string | string[]` に変更しました
  - Connection オブジェクトに signalingUrlCandidates プロパティを追加しました
  - SendRecv オブジェクト signalingUrl プロパティの戻り値の type を `string` から `string | string[]` に変更しました
  - SendRecv オブジェクト に signalingUrlCandidates プロパティを追加しました
  - SendRecv オブジェクト に connectedSignalingUrl プロパティを追加しました
  - SendRecv オブジェクト に signalingCandidateTimeout オプションを追加しました
- [UPDATE] type redirect 対応を追加しました
- [CHANGE] spotlight_legacy 対応を削除しました- ConnectionOptions の spotlight オプションの型を boolean のみに変更しました

## 2021.1.7

**リリース日**: 2021-9-13

- [ADD] SoraCloseEvent 関連の type を export しました

## 2021.1.6

**リリース日**: 2021-8-10

- [FIX] timeline ログに re-answer のログが出力されていなかったので修正しました
- [UPDATE] timeline ログの ontrack ログに詳細情報を追加しました

## 2021.1.5

**リリース日**: 2021-8-5

- [FIX] dataChannelSignaling false の場合に Disconnect API 経由で切断すると disconnect callback が発火しない問題を修正しました
- [UPDATE] 非同期で disconnect を複数回呼んだ場合の処理を修正しました

## 2021.1.4

**リリース日**: 2021-8-3

- [FIX] DataChannel 切断のタイムアウト処理中に WebSocket が切断すると Uncaught (in promise) が発生する問題を修正しました
- [UPDATE] 切断処理中の WebSocket の onclose タイムラインログに code と reason を入れるようにしました

## 2021.1.3

**リリース日**: 2021-7-30

- [FIX] DataChannel 切断処理を修正しました- 切断タイムアウト処理時にすでに DataChannel の readyState が `closed` 状態であれば onclose を待たないように修正しました

## 2021.1.2

> **注意**
>
> 2021.1.3 をご利用ください

**リリース日**: 2021-7-30

- [CHANGE] disconnect API を修正しました- type: disconnect メッセージに reason を追加するように修正しました
- [CHANGE] disconnect callback を修正しました- disconnect callback が受け取る event を CloseEvent から SoraCloseEvent に変更しました
  - disconnect callback が受け取る event の type は "close" のみから "normal" か "abend" のどちらかが返るように変更しました
  - disconnect callback が受け取る event の code, reason は undefined のパターンを追加しました
  - disconnect callback が受け取る event に title を追加しました
  - disconnect callback が受け取る event に params を追加しました
- [CHANGE] connect signaling 時の意図しない WebSocket の切断時のメッセージを統一しました- "Signaling failed. {reason}" に統一しました
- [CHANGE] timeline callback Event の property を変更しました- transportType を logType に変更しました
- [CHANGE] signaling callback Event の property を変更しました- transportType は必須項目にしました
- [UPDATE] PeerConnecion の状態が不正な場合に切断処理に入るようにしました- PeerConnecion connectionState が "failed" になった場合は切断するようにしました
  - PeerConnecion connectionState が undefined の場合 iceConnectionState が `disconnect` になって 1000ms 変化がない場合は切断するようにしました
- [UPDATE] 型を export しました

## 2021.1.1

**リリース日**: 2021-6-29

- [FIX] 接続処理が途中で失敗した場合の timeline ログに connected のログが出力されていた問題を修正しました

## 2021.1.0

**リリース日**: 2021-6-18

- [CHANGE] fflate を導入して Signaling zlib 対応を追加しました
- [CHANGE] timeout option を connectionTimeout option に名前を変更しました- timeout option を使用している場合は deprecated warning が出るように変更
- [CHANGE] Notify callback, Push callback の第二引数に TransportType を追加しました
- [CHANGE] role から upstream と downstream を削除しました
- [CHANGE] publisher と subscriber を削除しました
- [CHANGE] シグナリングメッセージに型定義を追加しました
- [CHANGE] 型定義の修正しました- Callbacks の各 callback 型定義を修正しました
  - on メソッドに渡す第2引数の型定義を修正しました
  - trace メソッドに渡す第3引数の型定義を any から unknown に変更しました
- [CHANGE] packages 以下の npm*client を yarn に変更しました
- [UPDATE] TypeScript を3系から4系に変更しました
- [UPDATE] サイマルキャストのサンプルを low / middle / high から r0 / r1 / r2 へ変更しました
- [ADD] ConnectionOptions に spotlightFocusRid / spotlightUnfocusRid を追加しました
- [ADD] get audio, get video を追加して接続がそれぞれに対応しているかを返すようにしました
- [ADD] stopAudioTrack, stopVideoTrack, replaceAudioTrack, replaceVideoTrack を追加しました
- [ADD] helper メソッドを追加しました
- [ADD] packages:upgrade コマンドを追加しました
- [ADD] Switch DataChannel を実装しました- ConnectionOptions に dataChannelSignaling を追加しました
  - ConnectionOptions に ignoreDisconnectWebSocket を追加しました

## 2020.6.2

**リリース日**: 2021-1-28

- [FIX] simulcast が使用できるかどうかの判定を修正しました- UserAgent を用いた判定から RTCRtpSender.getCapabilities を用いた判定に変更

## 2020.6.1

**リリース日**: 2020-12-22

- [FIX] simulcast 時に setParameters するための RTCRtpTransceiver 検索条件を変更しました- getUserMedia constraints の audio/video と Sora signaling の audio/video が一致しなかった場合に DOMException: Read-only field modified in setParameters(). が発生します
  - encodings が readonly な RTCRtpSender を持つ RTCRtpTransceiver を検索条件から除外して対応しました

## 2020.6.0

**リリース日**: 2020-12-10

- [UPDATE] e2ee 処理で signaling notify 時に metadata / authn_metadata どちらでも動作するように修正しました
- [UPDATE] connect 時の例外に code と reason を含めるようにしました- WebSocket の onclose が発火した場合のみ Error オブジェクトに close event の code と reason を含めました
- [FIX] type offer 時に受け取った encodings を type update 時にも setParametes するように修正しました

## 2020.5.0

**リリース日**: 2020-12-07

- [CHANGE] simulcastQuality を simulcastRid に変更しました
- [CHANGE] simulcast を bool のみに変更しました
- [CHANGE] simulcast_rid を追加しました
- [CHANGE] オプションの e2ee を boolean のみに変更しました
- [UPDATE] clientId option に空文字列を渡せるように修正しました
- [UPDATE] sora-e2ee パッケージを内包するように変更しました- lerna を使って複数 package を管理するようにしました
  - sdk package を作成して既存コードを sdk package 内へ移動しました
  - e2ee package を作成して sora-e2ee コードを移植しました
  - go-wasm package を作成して wasm_exec.js コードを内包しました

## 2020.4.2

**リリース日**: 2020-11-30

- [FIX] metadata に直接 undefined を渡せるように修正しました

## 2020.4.1

**リリース日**: 2020-11-18

- [FIX] timeout option を設定時に特定の条件で正しく動かない問題を修正しました- peerconnection connectionState が undefined の場合に timeout error が強制的に発動してしまう
  - peerconnection 接続前に timeout の時間に到達した場合 timeout error が発動しない

## 2020.4.0

**リリース日**: 2020-10-30

- [CHANGE] signaling 時に処理に失敗した場合の reject の引数を CloseEvent オブジェクトから Error オブジェクトに変更しました
- [CHANGE] connect() のタイムアウト処理にデフォルト値を設定しました- 60000 ms でタイムアウトするように設定しました
- [UPDATE] connect() 実行時 PeerConnection connectionState が 'connected' になったら処理が完了するように変更しました
- [UPDATE] disconnect 処理を修正しました- WebSocket で type: "disconnect" を send するように変更しました
  - WebSocket の readyState の監視をやめました
  - peerConnection の切断監視を signalingState から connectionState に変更しました
- [UPDATE] sora-e2ee のバージョンを 2020.3.0 に更新しました
- [FIX] package.json に定義されているモジュールの向き先を dist/sora.mjs に変更し、対象ファイルがビルドされるよう Rollup の設定を追加しました
- [UPDATE] simulcast で active パラメータを有効にするための実装を追加しました

## 2020.3.0

**リリース日**: 2020-09-30

- [UPDATE] Safari 14 以降で Simulcast が使えるように変更しました

## 2020.2.0

**リリース日**: 2020-09-08

- [UPDATE] sora-e2ee を 2020.2.0 にアップデートしました
- [UPDATE] 新スポットライトに対応しました- ConnectionOptions に spotlightNumber を追加しました
  - ConnectionOptions の spotlight に boolean を受け取れるよう修正しました
- [FIX] disconnect() を複数回実行した場合に例外が発生しないように修正しました

## 2020.1.5

**リリース日**: 2020-07-20

- [FIX] metadata が undefined の場合以外は signaling connect message に metadata を含めるように変更しました

## 2020.1.4

**リリース日**: 2020-07-08

- [UPDATE] type.ts にある type Json のインデックスシグネチャに undefined を許可しました

## 2020.1.3

**リリース日**: 2020-06-22

- [CHANGE] type.ts にある Audio, Video をそれぞれ SignalingAudio, SignalingVideo に名前変更しました
- [ADD] SoraConnection の型定義を export しました
- [ADD] sendrecv, sendonly, recvonly の引数 options に signalingNotifyMetadata を追加しました

## 2020.1.2

**リリース日**: 2020-06-18

- [FIX] sendrecv, sendonly, recvonly の引数に渡す metadata の型を Json に変更しました
- [FIX] authMetadata の型を Json に変更しました

## 2020.1.1

**リリース日**: 2020-06-17

- [UPDATE] type export を追加しました- 以下の型定義を export しました
  - AudioCodecType
  - Callbacks
  - ConnectionBase
  - ConnectionOptions
  - ConnectionPublisher
  - ConnectionSubscriber
  - Role
  - SimulcastQuality
  - VideoCodecType

## 2020.1.0

**リリース日**: 2020-06-01

- [CHANGE] @deprecated メッセージを追加しました- publisher/subscriber を使用している場合に warning を出すように変更しました
  - addstream/removestream を使用している場合に warning を出すように変更しました
  - debug: true 時に disconnect の MediaStream close 処理で warning を出すように変更しました
- [CHANGE] property 名の変更とアクセス制限の追加しました- `_pc` を `pc` に名前変更しました
  - `_ws` を `ws` に名前変更してアクセス制限を protected に変更しました
  - `_callbacks` を `callbacks` に名前変更してアクセス制限を protected に変更しました
- [CHANGE] method 名の変更とアクセス制限の追加しました- _ がついているメソッド名から _ を削除してアクセス制限を追加しました
- [UPDATE] E2EE 対応しました
- [UPDATE] TypeScript 化しました
- [UPDATE] async / await 化しました
- [ADD] Sora から `type: ping` が送られてきた際に `stats: true` だった場合 `type: pong` 送信時に `stats` に getStats の結果を入れました

## 1.16.0

**日時: 2020-01-20**

- [ADD] タイムアウトを指定可能にしました- デフォルトではタイムアウトは有効にはなっていません
- [ADD] 新しい role である sendrecv / sendonly / sendrecv を利用できるようにしました
- [ADD] サンプルに multsitream_sendonly.html を追加しました
- [UPDATE] サンプルで利用する role を新しいものに変更しました
- [CHANGE] サンプルの multistream.html を multistream_sendrecv.html に変更しました
- [CHANGE] サンプルの multistream_down.html を multistream_recvonly.html に変更しました
- [CHANGE] サンプルの spotlight.html を spotlight_sendrecv.html に変更しました
- [CHANGE] サンプルの spotlight_down.html を spotlight_recvonly.html に変更しました
- [CHANGE] サンプルの updown.html を sendonly_recvonly.html に変更しました
- [CHANGE] sdk_version と sdk_type を廃止し sora_client を追加しました
- [CHANGE] user_agent を廃止し sora_client を追加しました
- [FIX] README から simulcast_rid を削除しました

## 1.15.0

**日時: 2019-10-10**

- [CHANGE] Plan B のコードをすべて削除しました
- [CHANGE] ssrc group simulcast のコードをすべて削除しました
- [UPDATE] タスクランナーを webpack から rollupjs に変更しました
- [UPDATE] babel core を 6 から 7 へアップデートしました
- [CHANGE] signaling message 作成時のチェックを修正しました- role が 'upstream' または 'downstream' でない場合はエラーになるように修正しました
  - channelId が null または undefined な場合はエラーになるように修正しました
  - metadata が null または undefined な場合は signaling message に metadata を含めないように修正しました
- [ADD] multistream + simulcast に対応しました
- [ADD] opus params 関連のオプションを追加しました

## 1.14.0

**日時: 2019-07-08**

- [FIX] rid ベース simulcast で音声がでない問題を修正しました
- [UPDATE] rid ベース simulcast で replaceTrack を使用しないで addTrack のみで実装しました

## 1.13.0

**日時: 2019-06-10**

- [CHANGE] userAgent を user_agent に変更しました
- [ADD] rid ベース simulcast への対応をしました- Firefox と Safari では利用できないようにしました

## 1.12.0

**日時: 2019-04-15**

- [UPDATE] example の整理をしました
- [UPDATE] development build 時に sora-js-sdk の version に '-dev' をつけるように変更しました
- [ADD] Signaling Option に client_id を追加しました

## 1.11.0

**日時: 2019-03-27**

- [UPDATE] Safari の Unified Plan, Plan B 両方に対応しました
- [UPDATE] Simulcast option が使えるブラウザ判定を変更しました

## 1.10.2

**日時: 2019-01-21**

- [FIX] マルチストリームで Safari 12.0 と 12.1 両方に対応しました

## 1.10.1

**日時: 2019-01-17**

- [UPDATE] Firefox の Media Panel addon の Media-Webrtc が動作するよう RTCPeerConnection の変数格納を削除しました
- [ADD] ConnectionOptions の新しいプロパティに型を追加しました
- [FIX] マルチストリームで Safari 12.1 に対応しました

## 1.10.0

**日時: 2018-10-29**

- [UPDATE] simulcast, simulcastQuality オプションを追加しました

## 1.9.3

**日時: 2018-10-19**

- [FIX] Single Stream の subscriber で on('addstream', callback) が発火しない問題を修正しました

## 1.9.2

**日時: 2018-5-20**

- [UPDATE] package json の文言修正を修正しました

## 1.9.1

**日時: 2018-5-13**

- [UPDATE] Unified Plan の適応を Chrome M71 以降のバージョンに変更しました

## 1.9.0

**日時: 2018-5-28**

- [ADD] Chrome M68 以降のバージョンの動作変更しました- RTCPeerConnection の config に sdpSemantics: 'unified-plan' を追加しました
  - signaling message に plan_b: true オプションを渡さないように修正しました
- [CHANGE] snapshot 関連を削除しました
- [FIX] ontrack で stream が取得できなかった場合のエラーを修正しました

## 1.8.2

**日時: 2018-4-27**

- [CHANGE] vad を spotlight に変更しました

## 1.8.1

**日時: 2018-3-15**

- [FIX] addTransceiver を使うのは safari の場合だけにしました
- [FIX] pc が null の場合は reject するように修正しました

## 1.8.0

**日時: 2018-2-21**

- [ADD] 認証ウェブフックで払い出された metadata を参照できるように修正しました
- [UPDATE] Sora のプレビュー機能向けのパラメータ `vad` を signaling connect 時に指定できるように修正しました

## 1.7.7

**日時: 2018-1-12**

- [UPDATE] example を修正しました。 動作に変更はありません
- [FIX] disconnect 時 Safari では PeerConnection Closing Error で失敗していたので、正常に disconnect するように修正しました
- [FIX] subscriber multistream 時に Chrome では remoteClientIds が更新されていなかった問題を修正しました
- [FIX] websocket 切断時に特定の条件で remote clientId のリストが更新されない問題があったため、disconnect 時に初期化するように修正しました
- [FIX] disconnect 時に特定の条件で peerConnection 切断処理中に oniceconnectionstatechange イベントが発火することがあるため peerConnection の oniceconnectionstatechange を明示的に初期化するように修正しました

## 1.7.6

日時: 2017-12-29

- [FIX] multistream subscriber 利用時に ontrack が video でしか発火しなかったのを修正しました
- [FIX] multistream subscriber 利用時に onremovestream を ontrack の動作に合わせました

## 1.7.5

**日時: 2017-12-27**

- [CHANGE] offer 作成用の peerConnection を close するように修正しました

## 1.7.4

**日時: 2017-11-29**

- [UPDATE] signaling connect 時のパラメータに UserAgent を追加しました
- [CHANGE] publisher, subscriber の引数の options に渡したオブジェクトの value 値が null の場合は処理しないように修正しました

## 1.7.3

**日時: 2017-11-15**

- [UPDATE] Firefox で icecandidate に時間がかかる問題を修正しました

## 1.7.2

**日時: 2017-11-06**

- [UPDATE] 最新の Edge に対応しました
- [FIX] signaling offer 時の message に config が含まれていないとエラーになる問題を修正しました

## 1.7.1

**日時: 2017-11-01**

- [UPDATE] signaling connect 時のパラメータに sdp を追加しました

## 1.7.0

**日時: 2017-10-30**

- [ADD] event type に log を追加しました
- [FIX] disconnect を同時に複数回呼ぶとエラーになる問題を修正しました

## 1.6.1

**日時: 2017-10-18**

- [ADD] RTCPeerConnection の引数に MediaConstraints を渡せる機能を追加しました

## 1.6.0

**日時: 2017-10-03**

- [ADD] Publisher と Subscriber の options に AudioBitRate を追加しました

## 1.5.0

**日時: 2017-8-29**

- [CHANGE] Signaling 時の WebSocket onerror では reject しないように修正しました
- [FIX] multistream audio only の場合に addstream イベントが動作しなかったので修正しました

## 1.4.1

**日時: 2017-7-3**

- [FIX] Signaling message の metadata が旧仕様（access_token）のままだったので修正しました

## 1.4.0

**日時: 2017-6-16**

- [ADD] Signaling notify 用の callback を追加できるように変更しました

## 1.3.0

**日時: 2017-6-14**

- [ADD] Signaling notify 用の callback を追加できるように変更しました

## 1.3.0

**日時: 2017-6-9**

- [UPDATE] Safari に対応しました- 現時点で確認できているのは Safari Technology Preview 32 での動作のみです

## 1.2.0

**日時: 2017-5-29**

- [ADD] Subscriber の multistream に対応しました
- [CHANGE] iceServers が指定されていない場合に 'stun:stun.l.google.com:19302' を使用していたのをやめました

## 1.1.0

**日時: 2017-4-18**

- [UPDATE] Microsoft Edge に対応しました

## 1.0.0

**日時: 2017-4-11**

- [CHANGE] PeerConnection まで含めた処理を SDK で実行するように変更しました
- [CHANGE] multistream をパラメータに追加しました
- [CHANGE] videoSnapshot をパラメータに追加しました
- [CHANGE] videoBitRate をパラメータに追加しました
- [CHANGE] audioCodecType をパラメータに追加しました
- [CHANGE] codecType を videoCodecType に変更しました

## 0.5.0

**日時: 2016-5-13**

- [CHANGE] codecType のチェックをしないようにしました
- [UPDATE] シグナリングメッセージのキー名を変更しました

## 0.4.2

**日時: 2016-4-8**

- [UPDATE] ドキュメントを修正しました

## 0.4.1

**日時: 2016-3-31**

- [UPDATE] ドキュメントを修正しました

## 0.4.0

**日時: 2016-3-22**

- [UPDATE] codecType が選択できるように修正しました
- [UPDATE] パッケージの更新をしました
- [UPDATE] ビルドのしくみを変更しました

## 0.3.2

**日時: 2016-3-1**

- [UPDATE] パッケージの更新をしました

## 0.3.1

**日時: 2016-2-2**

- [UPDATE] signaling 時に WS が切断した場合、ステータスコードが 440x だったら Promise.reject するように変更しました

## 0.3.0

**日時: 2016-1-18**

- [UPDATE] disconnect を追加しました

## 0.2.0

**日時: 2015-12-15**

- [CHANGE] constructor の引数に URL 文字列を受け取る用に修正しました
- [CHANGE] package name を sora.js から sora-js-sdk に変更しました
- [CHANGE] Promise 化しました
- [FIX] PeerConnection Object が GC の対象にならないように修正しました

## 0.1.0

**日時: 2015-11-19**
