Skip to content

Releases: xmtp/libxmtp

LibXMTP 1.10.0

15 Mar 18:46

Choose a tag to compare

LibXMTP 1.10.0

LibXMTP 1.10.0 delivers core library improvements that provide the foundation for the following XMTP SDK releases.

XMTP SDK releases

View the release notes for your chosen XMTP SDK for release details, upgrade steps, and any breaking changes.

SDK Release Release notes
Browser 7.0.0 View release notes
Node 6.0.0 View release notes
React Native 5.7.0 View release notes
Android 4.10.0 View release notes
iOS 4.10.0 View release notes

iOS SDK 4.10.0

13 Mar 00:28

Choose a tag to compare


sdk = "ios"
previous_release_version = "4.9.0"

iOS SDK 4.10.0

What's Changed

This release includes a performance fix, a breaking change to history sync, and new methods for manual archive management. Update as soon as possible to take advantage of these enhancements and fixes.

Breaking Changes

New Dependency Import For SPM

XMTP iOS has moved to a new repository. To depend on this package, the expected format is now:

.package(
		url: "https://github.com/xmtp/libxmtp.git",
    revision: "ios-4.10.0"
),

Importing this package via Swift Package Manager requires XCode 16.3 or later.

History sync is now manual

This is a breaking change.

Automatic sending of sync requests on new installations has been removed. XMTP SDKs no longer automatically send sync requests on new clients.

This change gives you explicit control over when sync requests are sent, avoiding unexpected network activity during client initialization.

You must now call sendSyncRequest() explicitly after creating a client on a new installation to trigger a history sync.

To learn more, see Control history sync

Upcoming deprecation of preferences.sync()

In a future release, preferences.sync() will be deprecated. Use syncAllDeviceSyncGroups() instead to sync device sync groups from the network.

To learn more, see Sync device sync groups

New Features

Manual history sync archive management

These methods give you fine-grained control over history sync archives. Use them when you need to push data to a new installation proactively, inspect what's available before syncing, or process a specific archive by pin.

  • sendSyncArchive(pin, options?, serverUrl?): Send an archive to the sync group without waiting for a request from another installation

  • listAvailableArchives(daysCutoff): List archives available for import from the sync group

  • processSyncArchive(archivePin?): Process an available archive from the sync group

  • syncAllDeviceSyncGroups(): Sync all device sync groups from the network

To learn more, see Control history sync

Bug Fixes

Fixed a performance issue that could cause slowdowns in apps with many conversations or heavy use of disappearing messages.

Android SDK 4.10.0

15 Mar 18:46
3171fd3

Choose a tag to compare

XMTP Android SDK

This release includes a performance fix, a breaking change to history sync, and new methods for manual archive management. Update as soon as possible to take advantage of these enhancements and fixes.

Performance improvement

Fixed a performance issue that could cause slowdowns in apps with many conversations or heavy use of disappearing messages.

History sync is now manual

This is a breaking change.

Automatic sending of sync requests on new installations has been removed. XMTP SDKs no longer automatically send sync requests on new clients.

This change gives you explicit control over when sync requests are sent, avoiding unexpected network activity during client initialization.

You must now call sendSyncRequest() explicitly after creating a client on a new installation to trigger a history sync.

To learn more, see Control history sync

Manual history sync archive management

These methods give you fine-grained control over history sync archives. Use them when you need to push data to a new installation proactively, inspect what's available before syncing, or process a specific archive by pin.

  • sendSyncArchive(pin, options?, serverUrl?): Send an archive to the sync group without waiting for a request from another installation

  • listAvailableArchives(daysCutoff): List archives available for import from the sync group

  • processSyncArchive(archivePin?): Process an available archive from the sync group

  • syncAllDeviceSyncGroups(): Sync all device sync groups from the network

To learn more, see Control history sync

iOS 4.10.0 - libxmtp binaries

13 Mar 00:25
1481f4b

Choose a tag to compare

Pre-release

Intermediate artifact release for iOS SDK 4.10.0

iOS SDK 4.10.0-dev.da3a7ef

06 Mar 02:00

Choose a tag to compare

Pre-release

iOS SDK version 4.10.0-dev.da3a7ef

iOS SDK 4.10.0-rc2

04 Mar 01:21

Choose a tag to compare

iOS SDK 4.10.0-rc2 Pre-release
Pre-release

iOS SDK version 4.10.0-rc2

iOS 4.10.0-rc2 - libxmtp binaries

03 Mar 21:40
9eb07a7

Choose a tag to compare

Pre-release

Intermediate artifact release for iOS SDK 4.10.0-rc2

Kotlin-Bindings-1.9.2-dev.692e893

27 Feb 06:16
692e893

Choose a tag to compare

Pre-release
kotlin-bindings-1.9.2-dev.692e893

Dev release on the branch

iOS 4.9.0-dev.a2bdd0a - libxmtp binaries

25 Feb 17:57
0a42130

Choose a tag to compare

Intermediate artifact release for iOS SDK 4.9.0-dev.a2bdd0a

iOS SDK 4.9.0-dev.a2bdd0a

25 Feb 17:58

Choose a tag to compare

Pre-release

iOS SDK version 4.9.0-dev.a2bdd0a