Releases: ably/ably-liveobjects-swift-plugin
Releases · ably/ably-liveobjects-swift-plugin
0.4.0
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
SYNCINGper updated RTO8a (#109) - Fix events emitted upon sync (#111)
- Support the protocol v6
ObjectMessagestructure (#114) - Implement new rules for discarding ops buffered during sync (#121)
- Partial object sync (#117)
- Implement
MAP_CLEARoperation (#122)
Full Changelog: 0.3.0...0.4.0
0.3.0
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
SYNCINGon receipt ofATTACHED(#104)
Full Changelog: 0.2.0...0.3.0
0.2.0
What's Changed
- Fixes an issue with SPM dependency specification that caused compliation errors. (#93)
- Changes
JSONValue'snumberassociated value fromNSNumbertoDouble. (#91)
Full Changelog: 0.1.0...0.2.0
0.1.0
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.