Releases: Tencent-RTC/TUIKit_iOS
v3.6.0
Here is the translation of the changelog into English, formatted for a technical release note context.
API & Callback Behavior Changes
- Starting from version 3.6, the seat list is automatically synchronized upon entering a room, triggering the
onSeatListChangedcallback. You can disable this automatic synchronization using the experimental APIenableAutoSynchronizeSeatInfo.
New Features
- Added a KTV song request feature.
- Supported remote user device management in live streaming scenarios.
- Supported user screen sharing in live streaming scenarios.
- Optimized the 1v6 floating window layout.
- Optimized multi-resolution (multi-quality) features.
- Supported dynamic libraries on the iOS platform.
API Improvements
- General: Added extension fields to
takeSeatand related APIs. - General: Signaling requests (
TUIRequest) for seats and devices now includefromUserandtoUserfields. - General: Added a "close device" type to device signaling requests.
- Live Streaming: Added a specific error code for room type mismatches during cross-room communication (PK).
- Live Streaming: The notification for ending a PK now includes
endTime. - Live Streaming: Automatically triggers the PK score callback when an audience member enters a PK room.
- Conference: Optimized APIs and callbacks for the conference list plugin, supplementing user and room information.
- Conference: Added an API to transfer room ownership in the conference list plugin.
Bug Fixes
- Fixed an occasional black screen issue for anchors during live streaming co-hosting.
- Fixed an issue where the preview could not be stopped occasionally in the live streaming waterfall view.
- iOS: Fixed a conflict issue regarding privacy files (Privacy Manifest).
- Android: Fixed an issue with inaccurate call states.
- Android: Fixed an issue with
authoritiesconflicts. - Flutter: Supported returning the
levelfield in theTUIUserInfostructure. - Flutter: Supported modifying the layout template after starting a broadcast.
- Flutter: Supported providing more specific reasons when a user is kicked out of a room.
- Web: Optimized calls to the
muteRemoteVideoAPI. - Web: Optimized the synchronization mechanism for playback status.
- Web: Added support for the gift system.
- Web: Fixed an issue where video playback could not be paused after switching resolutions.
- Web: Fixed an occasional issue where volume settings did not take effect.
- Web: Optimized the trigger timing of the
onVideoPlayingevent.
Here is the translation for the AtomicXCore 3.6 Changelog:
AtomicXCore 3.6 Changelog
Interface & Callback Behavior Changes
- VideoViewAdapter: Starting from version 3.6, the data types in the callback methods have been unified to use
SeatInfo.
New Features
- CoHostStore: Added the
candidatesfield and thegetCoHostCandidatesAPI. - LiveListStore: Added the
getLiveInfoAPI. - LoginStore: Added
onKickedOfflineandonLoginExpiredcallback events. - LiveSeatState: Added the
avStatisticsfield for audio/video related statistics. - DeviceStore: Added an error code for "Camera Occupied".
- DeviceStore: Added
startCameraTestandstopCameraTestAPIs. - LiveAudienceState: Added a list of users who are muted (banned from sending messages).
Bug Fixes
- Android: Completed the implementation of the
onAudienceMessageDisabledcallback API inLiveAudienceStore.
New Features (Chat)
- MessageListStore: Added capabilities for offline push notifications, read receipts, mentions (@), and message forwarding.
- MessageActionStore: Added capabilities for message reactions, voice-to-text, and text translation.
- ConversationListStore: Added capabilities for conversation marking and advanced conversation fetching.
- GroupSettingStore & C2CSettingStore: Added capabilities for setting "Do Not Disturb" (mute notifications) for messages.
- SearchStore (New): Added support for searching messages, groups, group members, and user profiles.
- ConversationStore (New): Added support for conversation grouping.
API Improvements
- MessageListState: The change notification mechanism for
messageListhas been modified to use event stream notifications. - MessageActionStore: A
Messageobject is now bound by default upon creation; function parameters no longer require passing theMessageobject explicitly.
v3.5.0
RoomEngine v3.5.0 Changelog
RoomEngine
1. Interface & Callback Behavior Changes
The behavior is updated from the previous implementation (prior to v3.5) where users were required to actively call the getSeatList API to trigger seat synchronization and the corresponding onSeatListChanged callback. Now, the RoomEngine automatically starts seat list synchronization and triggers the onSeatListChanged callback immediately after entering the room. You can revert to the previous manual synchronization state by calling the hidden API enableAutoSynchronizeSeatInfo with the enable parameter set to false.
2. API Enhancements
New Callback: Added a completely new onSeatListChanged callback, which now returns the full seat list.
New API: Added the querySeatList API for synchronously querying the current full seat list.
Custom Fields: Added the custom field extensionInfo to seat-related APIs and callbacks, including takeSeat, takeUserOnSeatByAdmin, respondRemoteRequest, and kickUserOffSeatByAdmin.
Request Status: Added the TUIRequestCallbackType::kRequestSuccess type to the takeSeat and takeUserOnSeatByAdmin APIs, indicating that the request was successfully initiated.
Flutter Integration: Completed the implementation of message-related interfaces and callbacks for the Flutter platform.
3. Bug Fixes
Fixed an occasional black screen issue for audience members when frequently switching between video streams (pulling streams).
Fixed an intermittent black screen rendering issue caused by network jitter for remote users.
Fixed a rare permission denial issue when calling related APIs due to delayed role information synchronization after entering the room.
Fixed an occasional issue where audio and video information in the onSeatListChanged callback was inaccurate.
Fixed an intermittent issue where the onConnectionUserListChanged callback was not triggered.
Fixed an issue with incorrect capability bit evaluation.
Web: Fixed an issue where the SetAudioPlayoutVolume API call was ineffective when the large room feature was disabled.
Web: Fixed an issue where no callback was triggered after a successful call to the StartPlayRemoteVideo API.
Web: Fixed an occasional version mismatch issue during the login process.
Web: Fixed an issue where playback could not be correctly resumed after an OBS push stream was restored.
Web: Fixed an issue where messages sent via chat were occasionally ignored due to identical random numbers.
Android/iOS: Added the SetAudioPlayoutVolume API.
Android: Fixed a memory leak issue caused by a strong reference to the view during stream playback (pulling streams).
Android: Fixed a memory leak issue that occurred when frequently calling the startPreloadVideoStream API to preview live streams.
v3.4.0
This is the translation of the release notes for version 3.4.0 of the various components.
RoomEngine 3.4.0 Release Notes
RoomEngine
- Supports querying the seat list of other rooms during cross-room connection.
- The
onSeatListChangedcallback supports returning the seat list of other rooms during cross-room connection. - Supports the Room Owner and Administrator moving other users' seats (changing their positions on the stage/mic).
- Supports the Room Owner and Administrator swapping the seats of users already on the mic.
- Supports the Room Owner and Administrator automatically unlocking a seat when inviting a user to take the mic.
- Supports Live audience pulling the latest
$x$ messages before joining the room. - Supports the host setting multiple resolutions for the live stream when starting the broadcast.
- Supports the audience pulling video streams of different resolutions after joining the room.
- Supports audio and video mixing (audio/video blend) in voice chat scenarios.
- User profiles now support the
levelfield. - Android x86 architecture adapted for 16K Page Size.
- Supports setting audio waves (visual sound effects) when web plays audio/video streams.
- Fixed an issue where the
updateVideoQualityExinterface could not set screen sharing parameters. - Fixed an issue where the host's media status was incorrect during cross-room connection.
- Fixed an issue where the callback for host-initiated PK (Player Kill/Battle) response timeout did not include the extension field.
AtomicXCore 3.4.0 Release Notes
-
Integrated LiveCoreView.
-
Supports Reactive Framework: Store/State.
-
LiveCoreView changes:
- Added the
setLiveIdinterface. - Added
viewTypeinitialization.
- Added the
-
Integrated KTV-related features.
TUILiveKit 3.4.0 Release Notes
- LiveStreamCore dependency replaced with AtomicXCore.
- Supports KTV features.
- Android basic components like the live list, gifts, bullet comments, etc., replaced with Kotlin implementations.
- Fixed an abnormal UI issue with Android Picture-in-Picture (PiP).
- Video live streaming supports changing resolution.
- iOS dependency ESPullToRefresh switched to MJRefresh.
- SeatGridView code is open-sourced.
- Adapted to the new
setLiveIdinterface in LiveCoreView. - Like (Thumbs-up) playback logic optimized.
- Likes, Gifts, Audience List, Bullet Comments, Sound Effects, and Beauty Filters are now implemented using AtomicXCore.
Flutter
- TUILiveKit Flutter 3.4 Release Notes:
- Video live streaming supports multiple templates.
- Video live streaming supports adding a network status panel.
- Video live streaming supports OBS push streaming.