Xcode forward compatibility restored in SDK 8.0.0The Xcode 26 compatibility issue caused by RealmSwift binaries has been fully resolved in SDK 8.0.0. The cache layer has been migrated from Realm to Core Data, eliminating the Realm dependency entirely and restoring forward compatibility across Xcode versions. We recommend upgrading to 8.0.0 or later to remove any Xcode version constraints from your project.See the iOS SDK v8 Migration Guide for full upgrade instructions.
New ReleasesImprovements
π New Features
Comment Approval for Communities
A community can now require review before a new comment is visible. While a comment is pending, only its author, the communityβs reviewers, and network admins can see it. It stays out of public comment lists and comment counts until a reviewer approves it. See Comment Review.- Turn it on:
AmityCommunityDataBuilder.setNeedApprovalOnCommentCreation(_:)on create or update. Read it back withAmityCommunity.isCommentReviewEnabled. - Approval status:
AmityComment.approvalStatusis anAmityCommentApprovalStatus(pending,approved,rejected). - Create without a local copy:
AmityCommentCreateOptions(isOptimistic: false)skips the local comment, so the comment you get back carries the serverβs approval status. The default,true, keeps todayβs behavior. - Review queue:
AmityCommentRepository.getCommentReviewQueue(with:)returns the communityβs pending comments as anAmityCollection<AmityComment>. Narrow it to one post or a date range withAmityCommentReviewQueueQueryOptions. - Approve or decline:
AmityCommentRepository.approveComment(withId:)anddeclineComment(withId:reason:). Declining deletes the comment. The optionalreason(at most 250 characters) is kept for the moderation record only. - Permission: reviewers need
AmityPermission.reviewCommunityComment. - Editing while pending:
AmitySocialSettings.isAllowEditCommentWhenReviewingEnabledtells you whether an author may edit a pending comment. - Realtime: an approved comment appears as soon as it is approved, through the
comment.approvedevent. A declined comment arrives as a deletion.
Curated Content
Fetch the posts selected for a topic configured in the Console, and build your own discovery surface around them. A pool is one bounded, ranked result with no pagination, and the SDK keeps the serverβs order. See Topic-based Content Discovery.- Fetch a pool:
AmityCuratedContentRepository.getPool(topicId:limit:)is anasync throwscall that returns anAmityCuratedContentPool.limitmust be between 1 and 100. - Analytics:
AmityCuratedContentTopic.analytics(AmityCuratedContentAnalytics) providesmarkAsViewed(),markPostAsViewed(postId:), andmarkPostClick(postId:).
Pin Message in Live Channels
Pin one message in a live channel so it stays visible above the chat. Pinning a new message replaces the current pin. The server clears the pin when the message is deleted or its author is banned from the channel or globally. See Pin and Unpin Messages.- Pin and unpin:
AmityMessageRepository.pinMessage(withId:)andunpinMessage(withId:). - Read the pin:
AmityChannel.pinnedMessageholds the current pinned message, ornilwhen nothing is pinned. - Permission:
AmityPermission.pinMessage. Channel moderators, and livestream hosts and co-hosts, have it by default. Channel role changes now update a memberβs permissions in real time, so a promoted or demoted memberβs pin permission changes immediately. - Realtime: the observed
AmityChannelupdates on every pin and unpin, driven by thechannel.messagePinnedandchannel.messageUnpinnedevents.
Typed Network Activity Observation
AddedAmityClient.observeNetworkActivities(_:), a typed observer that supports multiple observers and replaces the previous single-slot callback. It returns a cancellable AmityNetworkActivityToken and delivers AmityNetworkActivity records for HTTP, upload, download, and MQTT traffic. Each record is labeled with an AmityNetworkActivityType and carries real timings and byte counts. The previous observeNetworkActivities((URLRequest?, HTTPURLResponse?, Data?) -> Void) overload is deprecated but still works.β¨ Improvements
- Added
AmityPost.getLocalCommentCount(includePending:). By default, the count leaves out the current userβs own comments that are still awaiting approval. Passtrueto include them.AmityPost.localCommentCountis now deprecated and equalsgetLocalCommentCount(includePending: true).
π§© Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
π API Reference β 8.8.0
New ReleasesImprovements
π New Features
Configurable Search Fields
Added a search user type and asearchBy option to control which fields user search matches.Livestream Viewer Configuration
Added livestream viewer configuration.v4 Sessions
Updated theloginWithAccessToken API endpoint to use v4 sessions.π Bug Fixes
- Fixed the avatar relationship not clearing when
avatarFileIdis emptied.
π§© Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
π API Reference β 8.7.0
New ReleasesImprovements
π New Features
Event Posts
Added event-post support: an event shared to a community feed is delivered as a post (postdataType event), resolves through the event repository, and renders alongside regular posts.π Bug Fixes
- Fixed a notification-tray seen-state issue.
- Fixed staging regressions.
π§© Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
π API Reference β 8.6.0
Improvements
Improvements
Improvements
Improvements
New ReleasesImprovements
π New Features
Report User
Updated the report-user API to report a user profile with a reason.β¨ Improvements
- Dropped the MQTT will message as part of the MQTT protocol alignment.
π Bug Fixes
- Fixed
getArchivedChannels()to fetch and persist the channel list. - Fixed the sort order of the archived chats list.
π§© Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
π API Reference β 8.5.0
Improvements
New ReleasesImprovements
π New Features
For You Feed
Added the personalized For You feed. Query it withgetForYouFeed() and gate the surface on the network setting so the feed only renders when For You is enabled for the network.Bidirectional Block Visibility
Added the reverse direction of the blocking model β the ability to read the users who have blocked the current user, alongside the existing blocked-user list.Shareable Link Configuration API
Updated the shareable-link configuration API with a typedAmitySharableContentType, so links can be generated per content type (post, community, user, livestream, event) via isEnabled(_:) and generateLink(_:referenceId:).π Bug Fixes
- Fixed a message reaction bug.
- Fixed event community being lost when the payload omits it.
- Fixed a notification-tray item βseenβ state issue.
π§© Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
π API Reference β 8.3.0
Improvements
New ReleasesImprovements
π New Features
Community Tag Filtering
Addedtags parameter to AmityCommunityQueryOptions. Pass a list of tags to getCommunities() to narrow results to communities matching all specified tags.Visitor Daily Usage Limit
Added detection for the visitor daily read quota (100 req/day, error code400323). When a visitor exceeds this limit, the SDK detects the error and emits an event via AmityClient.getVisitorUsageLimitEvents() -> AnyPublisher<AmityVisitorUsageLimitEvent, Never>.π Bug Fixes
- Fixed event bus observation not being torn down during
AmityClientinitialization, causing stale observers.
π§© Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
π API Reference β 8.2.0
Improvements
Improvements
Improvements
Improvements
Improvements
New Releases
π New Features
Core Data-Powered Cache Layer
Migrate the SDKβs local cache from Realm to Core Data, eliminating the Realm and RealmSwift dependencies. This fully restores Xcode forward compatibility β no more per-Xcode-version SDK variants are required.π¨ Breaking Changes
Realm Dependency Removed
Realm and RealmSwift are no longer bundled with or required by the SDK. Remove these libraries from your projectβs dependencies when upgrading to 8.0.0.See the iOS SDK v8 Migration Guide for a full list of breaking changes, renamed APIs, and upgrade steps.π§© Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
π API Reference β 8.0.0
New ReleasesImprovements
π New Features
Auto-Retry for MQTT Topic Subscriptions
Add an automatic retry mechanism for MQTT topic subscriptions, improving connection resilience when subscriptions fail due to transient network issues.π Bug Fixes
- Fixed
AmityCollectionfor posts emitting redundant updates when the underlying data had not changed.
Specific Xcode support
26.4 => 7.19.126.4.1 => 7.19.1-xcode26.4.126.3 => 7.19.1-xcode26.326.2 => 7.19.1-xcode26.2π§© Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New Releases
π New Features
Live Thumbnail and Resolution in AmityRoom
AddliveThumbnailUrl, liveResolution, and recordedResolution fields to AmityRoom to expose server-generated thumbnail and stream resolution data.Link Detection in Comments
Add link detection support to comment create/update APIs, enabling automatic link parsing in comment text.Root Comment and Latest Comment ID in Query
AddrootId and latestCommentId fields to the comment query API for improved comment threading and navigation.Page Size for Get Comments
AddpageSize parameter to getComments API for more granular control over comment pagination.Specific Xcode support
26.4 => 7.19.026.3=> 7.19.0-xcode26.326.2 => 7.19.0-xcode26.2π Bug Fixes
- Fixed
LiveCollectionobservation not being removed when an error occurs on loading the next page.
π§© Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New Releases
π New Features
Product Tagging in Posts
IntroduceAmityProduct and AmityProductTag models with product search API, enabling users to tag up to 20 products per post via text mentions and per-media tags. Supports creating and updating posts with product tags.Livestream Product Tagging
Introduce product management APIs for livestream(Room) post β tag, pin, and remove products across all broadcast phases.Specific Xcode support
26.3 => 7.18.116.x => 7.18.1-xcode16.426.2 => 7.18.1-xcode26.2π§© Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New Releases
π New Features
Get All Blocked Users
IntroducegetAllBlockedUsers(completion:) on AmityUserRepository β returns the full list of blocked users (up to 100) as a non-paginated, one-shot async result with a 5-minute TTL cache.Excluding Roles in Community Member Queries
AddexcludingRoles parameter to getMembers() and searchMembers(). Members holding any of the specified roles are excluded from the live collection result.Time-Bounded Post Pagination
AdduntilAt parameter to getPosts, getCommunityFeed, and getUserFeed queries. When provided, the SDK stops fetching and collecting posts beyond the given datetime boundary.Specific Xcode support
26.2 => 7.17.016.x => 7.17.0-xcode16.426.1 => 7.17.0-xcode26.126.3 => 7.17.0-xcode26.3
π§© Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New Releases
π New Features
Thread Safety
All of CRUD API, AmityObject and AmityCollection API are now safe to be called from any actors.Authentication
Introduce an ability to login with a pre-fetchedaccessToken.Comment Count
Introduce a local calculated comment count based on incoming real-time events.Community Post Query by Tags
Introduce an ability to community posts with matching tags.Specific Xcode support
26.2 => 7.15.016.x => 7.15.0-xcode16.426.1 => 7.15.0-xcode26.1π§© Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New Releases
π New Features
Thread safety
- Introduce two new static initializer method in AmityClient to initialize client safely in any thread
- Mark AmityClient as @unchecked Sendable
Specific Xcode support
26.2 => 7.14.1-beta416.x => 7.14.1-beta4-xcode16.426.1 => 7.14.1-beta4-xcode26.1π§© Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New Releases
New Releases
π New Features
Thread safety
- Enable LiveObject/Collection to be initialized from any actors
- Ensure thread safety on AmityClient props and functions.
Specific Xcode support
26.2 => 7.14.1-beta316.x => 7.14.1-beta3-xcode16.426.1 => 7.14.1-beta3-xcode26.1π§© Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New Releases
New Releases
New Releases
π New Features
Livestream Post with Room
Introduce Room service, an upgrade and a replacement forstreamEvent
Introduce Event service, enabling event schedulingCommunity Member Query
IntroducelastJoin sorting optionSpecific Xcode support
26.1 => 7.14.016.x => 7.14.0-xcode16.426.2 => 7.14.0-xcode26.2π§© Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New ReleasesImprovements
New ReleasesImprovements
New Releases
New Releases
New Releases
π New Features
Child stream
- Support child stream creation where a child stream can be linked to a parent stream.
Poll
- Added
unvotePoll()function, enables user to update poll answer.
Preview members
- Added
getPreviewMembers()onAmityChannel, enables access upto 4 members of converation and community channel.
π§© Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New Releases
π New Features
PII detection
- Added detected PII data to post, comment, and message.
Hashtag
- Support adding hashtag to a post.
- Support post search by hashtag.
User feed
- Support new sources of posts on user feed.
feedSourcescan be selected on user.
Post title
- Support optional
titleon post creation.
π§© Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies