Skip to content

Releases: xmtp/libxmtp

xmtp_bindings_flutter-v0.1.0-development.2

03 Feb 02:52
ef5140d
Compare
Choose a tag to compare
build: prep flutter -dev.2 to pickup validation changes (#481)

xmtp_bindings_flutter-v0.1.0-development.1

02 Feb 18:26
120a7de
Compare
Choose a tag to compare
build: flutter release with proper upload-artifact action (#478)

Swift-Bindings-9126afd

02 Feb 04:19
9126afd
Compare
Choose a tag to compare
Pre-release

Checksum of LibXMTPSwiftFFI.zip: 5a5a754cc648d41eb2bcbd8afd5cfeecddd0000795c9c948d20da445f135804f

Swift-Bindings-7e063c5

31 Jan 01:03
Compare
Choose a tag to compare
Pre-release

Checksum of LibXMTPSwiftFFI.zip: 3fca7883868c9116289a5d84336d70a079978d9095e13e685994e4f08bd754e0

Swift-Bindings-308ed57

30 Jan 22:08
Compare
Choose a tag to compare
Pre-release

Checksum of LibXMTPSwiftFFI.zip: 61e139006925ca075f838dd6cc1be00268081882d6e64bbb103b344dbc2741bb

Test-Swift-Bindings-ecb15b7

29 Jan 04:20
Compare
Choose a tag to compare
Pre-release

Checksum of LibXMTPSwiftFFI.zip: 82ffd012586c96cae38ce48010f828b3094023d745a891b79fe7afc39767c95a

0.4.1

23 Jan 22:44
0f0b50e
Compare
Choose a tag to compare
Use Warp MacOS runners (#447)

* Try macos runners

* Remove this branch

Test Bindings Build

05 Dec 01:26
Compare
Choose a tag to compare
Test Bindings Build Pre-release
Pre-release
test-bindings-build

Successfully building

0.3.2-beta3

27 Sep 16:24
1f36206
Compare
Choose a tag to compare
Add back some helpers used by xmtp-rust-swift, expose via ffi (#229)

0.3.2-beta0

28 Aug 18:37
573bdc6
Compare
Choose a tag to compare
Simplify external API interface (#206)

1. Make all methods of `Conversations` static, and accept a `Client` argument, so that `Conversations` doesn't need to be instantiated anywhere. `Conversations` doesn't really hold state anyway and effectively functions as a wrapper for `Client` right now, so it doesn't make sense for consumers to have to instantiate it and hold onto it.
2. Call `process_outbound_messages()` on init and on message send, so that consumers don't have to manually call it.
3. Limit the connection pool size to 1 for the ephemeral DB instance, because when multiple connections are made, each one operates on a separate database. In the event that a connection is requested from the pool while another one is ongoing, it will wait for a time limit before expiring with an error. An added plus of this is it's much easier for tests to detect deadlocks.

This simplifies the client API quite a bit, as can be seen in `bindings_ffi` and in the `CLI`.

Ideally, we could have spawned a separate thread to call `process_outbound_messages` so that the existing thread is not blocked, but that requires additional refactoring. This requires us to enforce `XmtpApiClient` is `Send + Sync` (which is easy), but also comes up against issues with lifetimes for `Client`, for which a reference is needed in the other thread that may outlive the current thread. This possibly requires us to start using `Arcs` again.