| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 | ## THE CHANGELOG
#### 2.8.0-alpha.1
  - add `string uid` api support
  - android: deprecate `lowLatency` member of LiveTranscoding
  - add methods `getUserInfoByUserAccount`, `getUserInfoByUid`, `joinChannelWithUserAccount`, `registerLocalUserAccount`
  - add events `localUserRegistered`, `userInfoUpdated`
  - add `totalFrozenTime`, `frozenRate` to events `remoteVideoStats` & `remoteAudioStats`.
  - add `numChannels` & `receivedSampleRate` & `receivedBitrate` to `remoteAudioStats`
  - android: upgrade native sdk to 2.8.2
  - ios: upgrade native sdk to 2.8.0
#### 2.4.1-alpha.3
- refactor setLiveTranscoding: rename ios & android native parameters. export enum for javascript/typescript api.
- fix negative number case in android platform.
- improve api doc.
#### 2.4.1-alpha.2
- deprecated `sendMessage` & `createDataStream` & `removeAllListeners` & `off`
- refactor event system
- fix `android` enum convert failed.
#### 2.4.1-alpha
- support 2.4.1-alpha.1 agora video sdk android-2.4.1 / iOS-2.4.1
  1. Deprecate iOS manual link operator, instead using cocoapods resolve compile dependencies.
  2. Add methods getAudioMixingPlayoutVolume, getAudioMixingPublishVolume for audio mixing troubleshooting.
  3. Add `txPacketLossRate`, `rxPacketLossRate` on `rtcStats` interface. usage: `RtcEngine.on('rtcStats', (data) => console.log(data))`.
  4. Rename `receivedFrameRate` to `rendererOutputFrameRate` this property related on `localVideoStats` and `remoteVideoStats`.
  5. Add event 'localVideoChanged' and Deprecate events `cameraReady` and `videoStopped`. You can listen `localVideoChanged` event instead  `cameraReady` & `videoStopped`.
  6. Add event `rtmpStreamingStateChanged` for rtmp streaming troubleshooting
  7. Add event `audioCodecProfile` on `liveTranscoding` interface.
  8. Add event `networkTypeChanged` for network troubleshooting.
  9. Add method `registerMediaMetadataObserver` method, this method enables you to add synchronized metadata in the video stream for more diversified live broadcast interactions, such as sending shopping links, digital coupons, and online quizzes. note: Call this method before the joinChannel method. and applies to `channelProfile` with 1. 
  10. Add method `sendMediaData`, this method enables you send media data under the live broadcast mode (`channelProfile` = 1) note: call this method after the `registerMediaMetadataObserver` method.
  11. Add event `audioMixingStateChanged` and Deprecate event 'localAudioMixingFinish`.
  11. Add `firstRemoteAudioDecoded` event you can get more detail [here](https://docs.agora.io/en/Interactive%20Broadcast/release_android_video?platform=Android#v241)
#### 2.4.0-alpha
- support 2.4.0-alpha.1 agora video sdk android-2.4.0 / iOS-2.4.0.1 and add sendMessage support in the same channel. Deprecate: startEchoTest and setVideoQualityParameters
- support 2.4.0-alpha.2 using 0.55.1 as peerDependency and support typescript
- support 2.4.0-alpha.3 bugfix iOS receiveStreamMessage data is null
- support 2.4.0-alpha.4 bugfix iOS videoSizeChanged field rotation typo
- support 2.4.0-alpha.5 bugfix Android & iOS side not support fit mode and hidden mode. 
  1. Deprecate & Remove: setupLocalVideo & setupRemoteVideo
  2. rename iOS side constants
  ```javascript
  "AgoraVideoMirrorModeAuto" to "VideoMirrorModeAuto"
  "AgoraVideoMirrorModeEnabled" to "VideoMirrorModeEnabled"
  "AgoraVideoMirrorModeDisabled" to "VideoMirrorModeDisabled"
  "AgoraChannelProfileCommunication" to "ChannelProfileCommunication"
  "AgoraChannelProfileLiveBroadcasting" to "ChannelProfileLiveBroadcasting"
  "AgoraChannelProfileGame" to "ChannelProfileGame"
  "AgoraVideoMode" to "VideoMode"
  "AgoraAudioMode" to "AudioMode"
  ```
#### 2.3.3-alpha
- support agora video sdk 2.3.3
- release 2.3.3-alpha.3
- release 2.3.3-alpha.4 (remove deprecated native api)
- release 2.3.3-alpha.5 (refactor event react api & refactor native wrapper)
- release 2.3.3-alpha.6 (refactor with typescript & fix. iOS platform binding bug)
- release 2.3.3-alpha.7 (refactor RtcEngine#init method support audio / video mode and switch dualStream)
#### 1.1.2
- add onVideoMute
- add onAudioMute
#### 1.1.1
- add createDataStream
- add sendStreamMessage
- add onStreamMessage
#### 1.0.9
- update to agora sdk version 2.0.2
- add setCameraAutoFocusFaceModeEnabled
- add setDefaultAudioRouteToSpeakerphone
- add setCameraTorchOn
- fix bug: Android speaker's volume indication
#### 1.0.8
 - update to agora sdk version 1.12
 - init wouldn't start video preview. Should manually use startPreview.
 - init options add new boolean parameter `swapWidthAndHeight` to support swap width and height.
 - add configPublisher
 - add setLocalRenderMode
 - add setRemoteRenderMode
 - add enableAudioVolumeIndication
 - add onAudioVolumeIndication
 - add zOrderMediaOverlay for android platform, support media overlay
 |