Xcode forward compatibility restored in UIKit 4.19.0The Xcode 26 compatibility issue caused by RealmSwift binaries has been fully resolved in UIKit 4.19.0. The UIKit now integrates with AmitySDK v8.0.0, which has migrated its cache layer from Realm to Core Data. Realm and RealmSwift are no longer required, and Xcode forward compatibility is fully restored. We recommend upgrading to 4.19.0 or later to remove any Xcode version constraints from your project.See the iOS SDK v8 Migration Guide for installation changes, including UIKit-specific steps.
Improvements
✨ Improvements
- Updated the AmitySDK dependency to 8.12.0.
🐞 Bug Fixes
- Fixed duplicate rows in the event time zone picker, which listed legacy aliases (for example, Europe/Kiev next to Europe/Kyiv) as separate entries. Time zones are now labelled and sorted by their standard offset, so a zone no longer shows its daylight-saving offset next to its standard name or moves in the list when daylight saving time starts or ends.
- Fixed users without the create-event permission being able to swipe into the hidden Hosting tab on the Upcoming and Past events pages. The Past events Hosting tab now lists only events the current user hosts, matching the Upcoming page.
- Fixed “No results found” briefly appearing before results load in chat member search, new conversation search, community add-member and invite-member search, and @mention suggestions.
🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
Improvements
Improvements
✨ Improvements
- Updated the AmitySDK dependency to 8.11.1.
- Users with the global
DELETE_USER_FEED_POSTpermission can now delete other users’ posts on user feeds. Community posts continue to followDELETE_COMMUNITY_POSTin that community.
🐞 Bug Fixes
- Fixed community moderators, including custom roles with the delete-comment permission, not consistently seeing Delete on other users’ comments in post detail and the clip comment tray.
🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New ReleasesImprovements
🚀 New Features
Child Endangerment Report Reason
Added Child endangerment as a report reason for posts, comments, and chat messages. The report pages now list the reasons provided by the SDK’sAmityContentFlagReasonType, in the SDK’s order, so reasons added in a future SDK appear without a UIKit update.- Labels: each reason resolves through the
social_label_report_reason_<key>localization key, falling back to the SDK’s default label, so your string overrides and locales apply. UseAmityStringProvider.resolveReportReasonLabel(_:)to get the same label in your own UI. - New API:
reportMessage(messageId:reason:detail:)onAmityMessageListViewModelandAmityChatMessageListViewModel, taking anAmityContentFlagReasonTypeand optional detail text.
🐞 Bug Fixes
- Fixed community moderators not seeing Edit and Delete on events created by others in their community. Event permissions are now checked in the event’s community.
- Fixed user search when starting a direct chat, creating a group chat, or adding group members — it was case-sensitive and only matched the start of the display name. It now matches any word, ignoring case, like social search and mentions.
🚨 Compatibility Changes
- Deprecated
reportMessage(messageId:reason:)withAmityContentFlagReason. UsereportMessage(messageId:reason:detail:)withAmityContentFlagReasonTypeinstead; for a custom reason, passreason: .othersand the text asdetail.
🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New ReleasesImprovements
🚀 New Features
Chat List Sort by Last Message
The chat home list can now be ordered by the most recent message instead of the most recent channel activity. Setfeature_flags.chat.channel_list_sort_by in your UIKit config to "lastMessage"; the default is "lastActivity", so existing apps are unchanged.- Scope: the All, Direct, and Groups tabs use the same order. Search and archived lists keep sorting by last activity.
- Row time: with
lastMessage, each row shows the time of its last message, so member changes no longer move a channel or change its time. - Error state: if the sort is not available for your network, the chat list shows an error state instead of the list. Customize its text with
amity_chat_home_error_titleandamity_chat_home_error_description.
✨ Improvements
- Updated the AmitySDK dependency to 8.10.0.
- Chat message link previews now use the same preview rules as social posts and show the link’s domain.
- The Discovery Widget no longer reserves an empty link-preview area for posts whose links are not set to render a preview.
🐞 Bug Fixes
- Fixed @mention search in chat channels not matching on display name.
- Fixed the keyboard flickering while editing a reply to a comment.
🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
Improvements
🐞 Bug Fixes
- Fixed the group chat back button doing nothing when the chat was presented modally (for example, after creating a group chat in an app without a navigation controller). Back now closes the modal chat, and still returns one screen when the chat was pushed.
- Fixed screens opened from a chat presented this way not appearing, and the chat staying open after leaving the group.
🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
Improvements
New ReleasesImprovements
🚀 New Features
Module Availability
The UIKit now follows your network’s module settings. When your plan does not include a module, the UIKit hides that module’s pages, components, and entry points, and stops making its requests — no configuration needed. Modules that depend on another follow it: for example, when Community is unavailable, Post, Story, Events, Feed, Comment, Product, Ads, and Clip are unavailable too.- Gated modules:
community,chat,live,poll,userRelationship,pushNotification,post,story,events,feed,comment,reaction,product,ads, anddiscovery. Clips follow Post. - Updates: availability refreshes automatically when the SDK receives new module settings.
- New API on
AmityUIKit4Manager:isModuleAvailable(_:)returns whether a module is available, using the same answer the UIKit applies to its own screens.moduleAvailability(_:)returns anAmityUIKitModuleAvailabilitywith the reason:available,notGranted(your plan does not include the module), orprerequisiteUnavailable(lists the modules that would satisfy it).moduleAvailabilityreturns the availability of every gated module, for building your own settings screen.moduleRequirementsandisModuleEnabled(_:under:)expose the module dependency rules.
✨ Improvements
- Updated the AmitySDK dependency to 8.9.0, which is required for module settings.
🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New ReleasesImprovements
🚀 New Features
Discovery Widget
AddedAmityDiscoveryWidgetComponent, an embeddable, read-only carousel of the posts selected for a topic configured in the Console. Place it on a page or screen you own, outside the social feed. See Discovery Widget.- Parameters:
topicId(required),showHeader(defaulttrue),minVisibilityThreshold(default3; values below 1 are treated as 1), andonCardClick. - Platform parameters:
pageId. - Content: text, image, video, clip, and poll posts. Livestream and room posts are not shown.
- Visibility: the widget renders nothing, and takes no space, when fewer supported posts than
minVisibilityThresholdare available or the request fails. - Layout: adapts to the available width, from a compact swipeable strip to an expanded carousel.
- Card taps: there is no default destination. Handle a tap with
onCardClick, or overrideAmityDiscoveryWidgetComponentBehavior.goToDestinationfor app-wide handling.onCardClicktakes precedence. - Customization: component IDs
discovery_widget_componentanddiscovery_widget_post_card_component. - Host container: give the widget wrap-content or a minimum height, and do not place it inside a horizontally scrolling parent.
Pinned Messages in Livestream Chat
Hosts, co-hosts, moderators, and anyone with thePIN_MESSAGE permission can pin a message from the livestream chat message ⋮ menu. The pinned message shows as a banner above the chat for every viewer, and a long message expands on tap. See Pinned Messages.- Unpin: from the banner or from the message menu.
- Permission changes: the pin controls appear or disappear as soon as a user’s permission changes mid-stream.
- Customization:
*/livestream_chat_feed/pinned_message_banner. The pin and unpin menu items are not customizable on iOS.
✨ Improvements
- Moderation controls are now gated on the permission each action requires instead of on the user’s role name, so a custom role with the right permission gets the same controls as a built-in moderator. This covers message delete, mute, group settings, member actions, banned members, mention-all, community settings and profile actions, pending-post review, post-menu actions, story management, and event edit, and the gates follow permission changes in real time.
🐞 Bug Fixes
- Fixed video download and playback in chat using swapped URLs — downloading a video previously saved the streamed playback asset, and playback used the download asset.
- Fixed the post, poll, and livestream options in an event’s create-post menu ignoring the
excludesconfiguration. - Fixed toast messages appearing in the wrong position on livestream, post detail, and story surfaces; toasts now sit above the bottom bar.
- Fixed Picture-in-Picture starting automatically while a livestream chat sheet (message actions, moderation, share, or menu) was open.
- Fixed the post-creation button state after removing a failed media attachment.
- Fixed the media carousel not remembering its current index after a manual swipe.
- Fixed the product tag icon missing in the post composer’s media viewer.
- Fixed empty-state rendering in the community add-member and invite-member pages.
- Fixed the group name field not wrapping to a new line, and its placeholder rendering in the value text color instead of the placeholder color.
🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New ReleasesImprovements
🚀 New Features
Picture-in-Picture
Added Picture-in-Picture for live and recorded livestream playback, so the stream keeps playing in a floating window when the viewer backgrounds the app or navigates elsewhere.Media Carousel
Posts with two or more images or videos now render as a swipeable media carousel, in both the feed and the composer preview.Livestream Viewer Count
The livestream viewer count is now shown based on your network configuration.Customizable Chat Taps
Chat mention taps and avatar taps are now reachable through behavior overrides, so you can route them to your own screens.✨ Improvements
- Adopted the SDK’s new
searchBycapability for more accurate user search — results now match display names, so user-ID-only matches no longer appear. The same applies to @mention search in posts and comments.
🐞 Bug Fixes
- Fixed the media carousel index not resetting after a feed refresh.
- Fixed channel avatar parsing on chat pages.
- Prevented Picture-in-Picture from activating on the report-reason screen and while a bottom sheet is open on a livestream.
- Chat links now follow the existing link-opening behavior.
🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New ReleasesImprovements
🚀 New Features
Event Posts
Added event posts — share an event to the community feed, where it renders as an event post card that opens the event on tap.🐞 Bug Fixes
- Fixed the notification unread red-dot issue.
- Fixed the Explore Community button.
- Excluded the product tag on event posts.
- Fixed the avatar placeholder color and assorted color issues.
- Fixed staging regressions.
🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
Improvements
Improvements
🐞 Bug Fixes
- Fixed news-feed pull-to-refresh: no more empty-page/skeleton flash, the featured post no longer disappears mid-refresh, and live updates resume after a refresh error.
- Fixed tapping a user avatar opening a blank screen.
- Sorted the community list by display name.
- Fixed permissions on the About tab.
🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
Improvements
🐞 Bug Fixes
- Fixed avatars and images hosted on external (non-Amity) CDNs failing to load — the image loader now retries once without the
Authorizationheader when the host rejects the bearer token. - Fixed the selected tab color ignoring your configured primary color; tab bars now use the theme’s primary color instead of the highlight color.
- Fixed the notification tray item color and the disabled-button color in the post and comment composers.
- Aligned assorted surfaces with the web UIKit for visual consistency.
🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
Improvements
Improvements
New ReleasesImprovements
🚀 New Features
Chat Design Refresh
Migrated the Chat UIKit to the new design system.Event Created Notification
Added a “created event” item to the notification tray.🐞 Bug Fixes
- Fixed large image preview decoding.
- Fixed avatar rendering on profiles.
- Fixed tapping a comment on a clip not navigating to the post detail.
- Fixed several chat regressions.
- Increased the touch area of the chat back button and added a navigation handler.
- Fixed push notification registration.
🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New ReleasesImprovements
🚀 New Features
Live Player Controls
Added tap-to-reveal player controls, a live pause state.🐞 Bug Fixes
- Fixed the chat back button not working when there was no navigation stack, and added an optional back button to the chat list.
- Fixed a discussion livestream being published as an event’s recorded stream.
- Fixed the livestream not keeping its current state when switching between background and foreground.
🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New ReleasesImprovements
🚀 New Features
For You Feed
Added the personalized For You feed, gated by the network’s For You feed configuration.Event Shareable Links
Added shareable event links to the event detail experience.🚨 Compatibility Changes
- Removed the deprecated v3 modules.
🐞 Bug Fixes
- Fixed clickable links not working on posts.
- Fixed read-only livestreams for guests and non-members.
- Fixed the toast type and icon.
- Fixed a moderator being unable to delete an event.
- Fixed co-host name display and layout.
🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
Improvements
Improvements
🐞 Bug Fixes
- Fixed permission check before showing the add button on the community membership page.
- Fixed members list not refreshing immediately after a member is added or removed.
- Fixed follow button text on the user profile page.
- Fixed clip action behavior callback not being triggered when tapping the clip feed.
- Added element IDs for events and clips in the newsfeed, and for creation buttons on the community and user profile pages.
🚨 Compatibility Changes
- Deprecated
AmityLivestreamBehavior. - Deprecated
goToCreateCommunityPage(context:)onAmitySocialHomeTopNavigationComponentBehavior.
🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
Improvements
🐞 Bug Fixes
- Fixed permission check before showing the add button on the community membership page.
- Fixed members list not refreshing immediately after a member is added or removed.
- Fixed dark theme colors in the notification tray.
- Fixed follow button text on the user profile page.
- Fixed clip action behavior not being triggered when tapping the clip feed.
- Added element IDs for events and clips in the newsfeed, and for creation buttons on the community and user profile pages.
🚨 Compatibility Changes
- Deprecated
AmityLivestreamBehavior. - Deprecated
goToCreateCommunityPage(context:)onAmitySocialHomeTopNavigationComponentBehavior.
🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New ReleasesImprovements
🚀 New Features
Visitor Usage Limit Page
AddedAmityVisitorUsageLimitPage , a full-screen error shown when a visitor exceeds their daily read quota. Two new AmityGlobalBehavior overrides let you customise the experience:handleVisitorUsageLimitReached()— replace the default full-page error with your own UIhandleVisitorUsageLimitSignIn()— replace the default sign-in toast with navigation to your own sign-in screen
🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
Improvements
Improvements
New ReleasesImprovements
🚀 New Features
Localization in Social Features
All UI strings are now externalised into string resource files, enabling custom translations and runtime language switching. Developers can add any language by providing translated resource files without modifying application code. See the Localization guide for setup instructions and platform-specific details.🐞 Bug Fixes
- Fixed post mentioned user issue.
🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New Releases
New Releases
🚀 New Features
Migrated to AmitySDK v8.0.0 — Realm Removed
UIKit now integrates with AmitySDK v8.0.0. The Realm and RealmSwift dependency has been removed —Realm.xcframework and RealmSwift.xcframework are no longer installed through the SharedFrameworks Package.swift file. No public UIKit APIs have changed; only the installation steps differ.See the iOS SDK v8 Migration Guide for updated installation instructions.🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New ReleasesImprovements
🚀 New Features
Bluetooth Remote & Hardware Key Support for Livestream Start
Pressing a paired Bluetooth remote shutter or the device’s hardware volume key now starts a livestream, consistent with how these controls trigger the camera shutter in the native camera app.🐞 Bug Fixes
- Fixed a crash in
AmityNewsfeedComponent.
Specific Xcode support
26.4.1 => 4.18.3-xcode26.4.1 26.4 => 4.18.3-xcode26.4 26.3 => 4.18.3-xcode26.3🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New Releases
🚀 New Features
Product Tag Click Handlers in Global Behavior
AddonPostProductTagClick(context:) and onLivestreamProductTagClick(context:) callbacks in AmityGlobalBehavior, enabling custom handling of product tag interactions in posts and livestreams.External Bundle Icon Support in Config File
Config file now supports loading icons from an external bundle, allowing greater flexibility for custom icon assets.Specific Xcode support
26.4 => 4.18.126.3 => 4.18.1-xcode26.3🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New Releases
🚀 New Features
Multi-Level Reply Rendering
Add multi-level reply rendering with optimistic reply support.Expand Replies with Load More
Add expand replies with load more support.URL/Hyperlink Text in Comments
Add URL/hyperlink text support in comments.Portrait Livestream Thumbnail Placeholder
Add portrait livestream thumbnail placeholder.Specific Xcode support
26.4 => 4.18.026.3 => 4.18.0-xcode26.326.2 => 4.18.0-xcode26.2🐞 Bug Fixes
- Fixed various UI bugs.
🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New Releases
🚀 New Features
Product Tagging in Posts
Support product tagging in post composer — tag products via@ text mention or per-media tag button with up to 20 products per post. Tagged products display as a list below post content.Livestream Product Tagging
Support product management in livestreams — hosts and co-hosts can tag, pin, and remove products during broadcasts. Viewers browse tagged products via a scrollable overlay with real-time pinned product display.Specific Xcode support
26.3 => 4.17.0-beta0516.x => 4.17.0-beta05-xcode16.426.2 => 4.17.0-beta05-xcode26.2🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
Improvements
New Releases, Improvements
🚀 New Features
Support External Config File
- Introduced
AmityUIKit4Manager.setConfigFile(filePath: String)to be able to load config file from application level.
🐞 Bug Fixes
- Fixed incorrect camera exporsure on Story creation.
Specific Xcode support
26.2 => 4.17.0-beta0316.x => 4.17.0-beta03-xcode16.426.1 => 4.17.0-beta03-xcode26.126.3 => 4.17.0-beta03-xcode26.4🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New Releases
New Releases
🚀 New Features
Event Scheduling
Introduce Event scheduling with functionalities such as RSVP, reminders, discussion, and livestreamingCo-Streaming
Introduce an ability to invite a viewer to co-stream a livestream session for livestram in communitiesSpecific Xcode support
26.1 => 4.17.0-beta0116.x => 4.17.0-beta01-xcode16.426.2 => 4.17.0-beta01-xcode26.2🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New ReleasesImprovements
New ReleasesImprovements
New ReleasesImprovements
New Releases
New Releases
🚀 New Features
Image Poll Post
- Poll post now support having images as options.
- Add an ability update poll answer.
Post title
- Post can now be created with an optinal title.
Hashtag
- Add hashtag support on Post.
- Enable Post search by hashtag.
Reaction Options
- Add Multiple reaction options support.
🧩 Compatibility
iOS SDK
iOS SDK
Dependencies
Dependencies
New Releases