Repository navigation
Releases: Xmax-AI/XmaxSDK-iOS
Releases · Xmax-AI/XmaxSDK-iOS
Release list
1.0.10
What's New
- Fixed trajectory mapping to use processed local media dimensions consistently, independent of received video resolution, adaptive quality, and frame interpolation.
- Improved realtime signaling responsiveness with updated Agora rate limits and latest-only pending trajectories. Generation control messages retain their order, and stale trajectories are cleared when generation changes or stops.
- Updated the default touch-animation prompt in XLab.
API Changes
- No public API changes. Trajectory coordinates remain normalized to
[0, 1]relative to the processed local media frame.
1.0.9
What's New
- Added Swift Package Manager integration alongside CocoaPods and manual XCFramework integration.
- Unified media sizing across camera, image, and video inputs. Media dimensions respect the model's pixel limit, and media and return dimensions align to multiples of four while preserving the aspect ratio where possible.
- Improved the XLab statistics panel to size itself to its content.
API Changes
- Trajectory signaling now sends normalized
[0, 1]coordinates intracks, relative to the processed media dimensions rather than pixel coordinates. The server must interpret these values as normalized media coordinates. - Source integration requires Xcode 26 or later. The Swift package declares a Swift 6.2 minimum toolchain and uses Swift 6 language mode.
1.0.8
What's New
- Migrated realtime transport to Agora RTC 4.6.4 and added the X2.1.1 preview models for China and international services.
- Added automatic uplink and downlink quality adaptation. Return resolution accounts for both network conditions and frame interpolation limits while preserving the media aspect ratio.
- Added face restoration, uplink/downlink video statistics, and matching statistics panels in the UIKit and SwiftUI examples.
- Improved restart reliability when disconnecting with frame interpolation enabled, simplified startup timing logs, and standardized SDK documentation.
API Changes
- Replace
.x2_0/.x2_0_prowith.x2_1_1_preview_cnor.x2_1_1_preview_usinRealtimeModel. - Removed the
videoFormatparameter from image and file-video stream creation. These inputs retain their media aspect ratio; the SDK calculates the model generation canvas separately. - Added
faceRestorationtostartGeneration, defaulting tofalsethrough the convenience APIs. - Added
UplinkVideoStatistics,DownlinkVideoStatistics,setUplinkVideoStatisticsListener, andsetDownlinkVideoStatisticsListener. RealtimeVideoFormatnow defaults to.maintainFramerate; an unspecified minimum upload bitrate defaults to 100 kbps.- Manual integrations must replace the VolcEngine RTC dependencies with the Agora dependencies. CocoaPods resolves the new dependencies automatically.
COS 6.5.7 — SwiftPM dependency artifacts
COS SwiftPM dependency artifacts
Xmax-built dynamic XCFrameworks from Tencent Cloud COS iOS SDK 6.5.7:
QCloudCore/WithoutMTAQCloudCOSXML/Transfer
Built without changes to the selected upstream source files. Supports iOS 15+,
device arm64, and simulator arm64/x86_64. Does not include Tencent's optional
analytics SDKs. This is not a new XmaxSDK version or an official Tencent release.
The frameworks retain upstream copyright/license notices. QCloudCOSXML also
includes the upstream privacy manifest. Do not remove these files when redistributing.
Upstream: https://github.com/tencentyun/qcloud-sdk-ios/tree/6.5.7
These immutable artifacts are referenced by XmaxSDK's Package.swift. They should
not be added alongside a separate CocoaPods/manual COS installation in the same app.
1.0.7
What's New
- Increased the X2.0 default frame rate to 30 fps, including the default 832 × 1472 camera format. Explicitly configured frame rates are unchanged.
- Kept the loading indicator continuous when switching reference images during startup in both UIKit and SwiftUI examples.
- Unified the X2.0-PRO display name in XLab and refreshed the README introduction.
API Changes
- Removed
XmaxError.severity, theseverityinitializer parameter, andXmaxErrorSeverity. Remove references to these APIs when upgrading. - Error codes, messages,
throws, andRealtimeState.reasonremain available. Existing error handling and lifecycle cleanup behavior are unchanged.
1.0.6
What's New
- Added X2.0 Pro support with 1024 × 1920 and 1920 × 1024 resolution buckets at a default 30 fps.
- Added native camera capture with smooth portrait/landscape transitions and optional microphone input.
- Added dynamic return-size adjustment for frame interpolation without restarting generation.
- Improved default uplink bitrate selection and added custom video encoding options.
- Added Chinese/English localization to XLab and environment-aware SDK log details.
API Changes
- Added
RealtimeConnectionState.preparingand.ready; removed.disconnectedand.error. After cleanup, the state returns to.readywhen local media remains available, or.idleotherwise. ReadRealtimeState.reasonto determine why the operation ended. - Replaced
setErrorListener/RealtimeErrorListenerwithRealtimeState.reason(.normal,.orientationChanged, or.failure(XmaxError)). Configuration and permission failures remain available throughthrows. - Removed
setCameraPreviewReadyListener; observe.readythroughsetStateListenerinstead. - Removed public
stopGeneration(); usedisconnect()to end the realtime connection while retaining local media, orclose()to release all resources. Addeddisconnect(reason:). - Added
useMicrophoneto camera stream creation, defaulting tofalsethrough convenience overloads. - Added
minimumBitrate,maximumBitrate, andencoderPreferencetoRealtimeVideoFormat. - Added
RealtimeModel.x2_0_proandresolutionBuckets; removedsupportedMediaSources. Nonempty resolution buckets require an exact width/height match. - Added
MediaServicing.resolveFrameInterpolationSize(_:). Runtime interpolation changes now request an updated return size. - New camera and image streams initialize remote audio volume to
0; file-video streams initialize it to1. CallsetRemoteAudioVolume(_:)after creating the local stream to override this default. - Portrait/landscape changes detected by SDK video views disconnect an active realtime connection and report
.orientationChanged, while retaining local preview.
1.0.5
What's New
- Added support for selecting the Xmax service environment, including the global API endpoint.
- Preserved the China service environment as the default for existing integrations.
- Aligned the README overview with the latest cross-platform XmaxSDK documentation.
API Changes
- Added
XmaxEnvironmentwith.chinaand.globaloptions. - Added an
environmentparameter toXmaxConfiguration, defaulting to.chinafor source compatibility.
1.0.4
What's New
- Improved realtime session coordination so overlapping operations, cancellation, disconnect, and full teardown resolve consistently.
- Added model-aware media validation and automatic input sizing for camera, image, and video sources.
- Added readable local-preview and generated-stream audio volume state.
- Refreshed the XLab example app and documentation with UIKit and SwiftUI integration guidance and five realtime use-case demos.
API Changes
- Added
RealtimeMediaSourceand model capability metadata, including supported media sources, input-size constraints, default frame rate, and default camera format. - Added
createLocalCameraStream(position:)for creating a camera stream with the selected model's default format. - Added
localAudioVolumeandremoteAudioVolumeproperties toXmaxRealtimeManaging. - Updated
XmaxClient.createMediaService(model:)to accept a realtime model while preserving.x2_0as the default.
1.0.3
What's New
- Added unified realtime video containers for UIKit and SwiftUI that automatically transition between local preview and generated remote video.
- Added realtime generation startup timing diagnostics to performance logs.
- Improved realtime error handling so recoverable cleanup failures no longer interrupt an active workflow.
- Added runtime metadata to API requests and realtime room events for improved diagnostics.
API Changes
- Added
XmaxRealtimeVideoViewfor UIKit andXmaxRealtimeVideofor SwiftUI. - Added
XmaxErrorSeverityandXmaxError.severityto distinguish recoverable and fatal errors. setErrorListenernow reports only fatal realtime errors; recoverable operation errors continue to be returned by the corresponding async APIs.
1.0.2
What's New
- Added remote generated video recording support.
- Added an XLab example for recording and saving generated video to Photos.
API Changes
- Added
setRemoteVideoFrameListener(_:). - Added
RealtimeVideoFrame, exposing the pixel buffer, presentation timestamp, and frame duration.