Skip to content

Releases: ably/ably-liveobjects-swift-plugin

0.4.0

16 Mar 17:28
ace39c1

Choose a tag to compare

Operations are now applied on acknowledgement

When you call a mutation method (e.g. map.set()), the SDK now applies the effects of this operation to the local LiveObjects data as soon as it receives the server's acknowledgement of the operation. This is an improvement over earlier versions, in which the SDK did not apply such an operation until receiving the operation's echo.

Concretely, this means that in the following example, fetchedValue is now guaranteed to be myValue:

try await map.set(key: "myKey", value: "myValue")
let fetchedValue = try map.get(key: "myKey")

Other changes

These changes do not affect the plugin's public API.

  • Buffer operations whilst SYNCING per updated RTO8a (#109)
  • Fix events emitted upon sync (#111)
  • Support the protocol v6 ObjectMessage structure (#114)
  • Implement new rules for discarding ops buffered during sync (#121)
  • Partial object sync (#117)
  • Implement MAP_CLEAR operation (#122)

Full Changelog: 0.3.0...0.4.0

0.3.0

09 Dec 12:54
afc2ecf

Choose a tag to compare

What's Changed

No public API changes. Some internal improvements:

  • Use server time for object ID (#98)
  • Use server-sent GC grace period (#99)
  • Always transition to SYNCING on receipt of ATTACHED (#104)

Full Changelog: 0.2.0...0.3.0

0.2.0

02 Oct 14:43
6a38988

Choose a tag to compare

What's Changed

  • Fixes an issue with SPM dependency specification that caused compliation errors. (#93)
  • Changes JSONValue's number associated value from NSNumber to Double. (#91)

Full Changelog: 0.1.0...0.2.0

0.1.0

28 Aug 12:39
5c6ff74

Choose a tag to compare

What's New

  • Our first release! LiveObjects provides a simple way to build collaborative applications with synchronized state across multiple clients in real-time.

Learn about Ably LiveObjects.

Getting started with LiveObjects in Swift.