AblyLiveObjects

0.4.0

Ably LiveObjects Swift plugin for ably-cocoa SDK
ably/ably-liveobjects-swift-plugin

What's New

0.4.0

2026-03-16T17:28:09Z

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

Ably LiveObjects Swift Header SPM Swift Compatibility License


Ably LiveObjects Swift plugin

The Ably LiveObjects plugin enables real-time collaborative data synchronization for the ably-cocoa SDK. LiveObjects provides a simple way to build collaborative applications with synchronized state across multiple clients in real-time. Built on Ably's core service, it abstracts complex details to enable efficient collaborative architectures.

Warning

This plugin is currently experimental and the public API may change.


Getting started

Everything you need to get started with Ably LiveObjects:


Supported platforms

Ably aims to support a wide range of platforms. If you experience any compatibility issues, open an issue in the repository or contact Ably support.

This plugin supports the following platforms:

Platform Support
iOS >= 14.0
macOS >= 11.0
tvOS >= 14.0

Note

Xcode 16.3 or later is required.


Example app

This repository contains an example app, written using SwiftUI, which demonstrates how to use the plugin. The code for this app is in the Example directory.

In order to allow the app to use modern SwiftUI features, it supports the following OS versions:

  • macOS 14 and above
  • iOS 17 and above
  • tvOS 17 and above

To run the app:

  1. Open the AblyLiveObjects.xcworkspace workspace in Xcode.
  2. Follow the instructions inside the Secrets.example.swift file to add your Ably API key to the example app.
  3. Run the AblyLiveObjectsExample target. If you wish to run it on an iOS or tvOS device, you'll need to set up code signing.

Releases

The CHANGELOG.md contains details of the latest releases for this plugin. You can also view all Ably releases on changelog.ably.com.


Contribute

Read the CONTRIBUTING.md guidelines to contribute to Ably or share feedback or request a new feature.

Support, feedback and troubleshooting

For help or technical support, visit Ably's support page. You can also view the community reported GitHub issues or raise one yourself.

Description

  • Swift Tools 6.1.0
View More Packages from this Author

Dependencies

Last updated: Sun Mar 29 2026 06:24:12 GMT-0900 (Hawaii-Aleutian Daylight Time)