You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
What's Changed
Refine the connection fallback logic so that internet connectivity is always verified before a fallback host is resolved, and only when a valid pending connection exists #1242
complete the close handshake when the server closes the websocket #1241
Inbound operation handling is hardened so a single malformed operation no longer discards its batch siblings, a missing counter number/count is now representable and behaves consistently across transports, and the channel-state data lifecycle (RTO27) and root-object safeguards (RTO10c1b1/RTLO4e10) are honoured.
Bring the LiveObjects implementation into line with the reconciled objects spec and reorganise the shared unified test suite (UTS) infrastructure #1228. Alongside this, :uts becomes a shared test-infra module and the spec-derived UTS suites move into the modules that own the code they exercise.
Introduce the new path-based LiveObjects API #1214. LiveObjects data is now accessed through channel.object, which returns a RealtimeObject exposing PathObjects — stable references to locations within the channel object that resolve to values dynamically at runtime, instead of explicit LiveMap/LiveCounter instances. See the PathObject documentation for details.
Breaking changes
This release replaces the previous experimental instance-based LiveObjects API with the new path-based API:
The channel.getObjects() accessor (returning RealtimeObjects) has been replaced by the channel.object field (returning RealtimeObject)
The io.ably.lib.objects package has been renamed to io.ably.lib.liveobjects
Instead of obtaining and operating on explicit LiveMap/LiveCounter instances, data is accessed and mutated through PathObject references