Today we're releasing v0.18.0 of the TalkJS Flutter SDK. This release keeps the SDK compatible with upcoming changes across the iOS and Android ecosystems, and brings various API refinements.
Platform compatibility
This release adds support for:
- Swift Package Manager (SPM). CocoaPods is moving to a read-only state this December, so this migrates our dependencies to SPM ahead of that change.
- iOS UIScene, which is needed to stay compatible with Apple's latest platform requirements.
- Android Gradle Plugin 9+ to keep the SDK current with the latest Android tooling.
As part of this work, we also forked and updated flutter_apns_only, a push notification dependency, to bring it up to date with Swift Package Manager and UIScene support.
Because supporting Swift Package Manager requires a higher minimum Flutter version, this is a breaking release. See the breaking changes list for what to update.
With these dependency updates, the minimum requirements are now:
- Dart SDK 3.10.0+
- Flutter SDK 3.38.0+
- Android API Level 24 (Android 7.0)+
API and behavior changes
This release also bundles in a few other additions and breaking changes at the same time, rather than spreading them across multiple releases. These include:
Added
- Added
customEmojis,onLeaveConversation, andonMarkConversationAsUnreadto the Chatbox widget. - Added
participantsproperty to theConversationDatatype.
Breaking changes
MessageType,ParticipantAccess,ParticipantNotification, andConversationAccessLevelhave been refactored. Note thatMessageTypewas previously defined in two separate places; it's now unified into one, removing duplication.- Renamed
conversationDataproperty toconversationinConversationActionEvent, for consistency across SDKs. - Renamed
BaseMessagePredicatetoSimpleMessagePredicate, andBaseConversationPredicatetoSimpleConversationPredicate, aligning with other SDKs.
Check out the Flutter SDK documentation for full details.