Skip to content

Releases: Tencent-RTC/TUIKit_iOS

v3.6.0

07 Jan 07:44

Choose a tag to compare

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 onSeatListChanged callback. You can disable this automatic synchronization using the experimental API enableAutoSynchronizeSeatInfo.

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 takeSeat and related APIs.
  • General: Signaling requests (TUIRequest) for seats and devices now include fromUser and toUser fields.
  • 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 authorities conflicts.
  • Flutter: Supported returning the level field in the TUIUserInfo structure.
  • 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 muteRemoteVideo API.
  • 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 onVideoPlaying event.

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 candidates field and the getCoHostCandidates API.
  • LiveListStore: Added the getLiveInfo API.
  • LoginStore: Added onKickedOffline and onLoginExpired callback events.
  • LiveSeatState: Added the avStatistics field for audio/video related statistics.
  • DeviceStore: Added an error code for "Camera Occupied".
  • DeviceStore: Added startCameraTest and stopCameraTest APIs.
  • LiveAudienceState: Added a list of users who are muted (banned from sending messages).

Bug Fixes

  • Android: Completed the implementation of the onAudienceMessageDisabled callback API in LiveAudienceStore.

New Features (Chat)

  1. MessageListStore: Added capabilities for offline push notifications, read receipts, mentions (@), and message forwarding.
  2. MessageActionStore: Added capabilities for message reactions, voice-to-text, and text translation.
  3. ConversationListStore: Added capabilities for conversation marking and advanced conversation fetching.
  4. GroupSettingStore & C2CSettingStore: Added capabilities for setting "Do Not Disturb" (mute notifications) for messages.
  5. SearchStore (New): Added support for searching messages, groups, group members, and user profiles.
  6. ConversationStore (New): Added support for conversation grouping.

API Improvements

  1. MessageListState: The change notification mechanism for messageList has been modified to use event stream notifications.
  2. MessageActionStore: A Message object is now bound by default upon creation; function parameters no longer require passing the Message object explicitly.

v3.5.0

18 Nov 07:12

Choose a tag to compare

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

13 Oct 08:00

Choose a tag to compare

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 onSeatListChanged callback 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 level field.
  • 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 updateVideoQualityEx interface 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:

    1. Added the setLiveId interface.
    2. Added viewType initialization.
  • 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 setLiveId interface 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.