Ably's changelog
Ably's changelog
ably.com

Cocoa Client Library Release v1.2.61

 

Client Library SDK Fix

    

Pub/Sub

  

Fixes an issue where the locally stored Ably push notification registration state could not be loaded before the device first unlock after a reboot.

Ably AI Transport JS SDK Release v0.3.0

 

Client Library SDK Improvement

  

Version 0.3.0 of the Ably AI Transport JS SDK has been released.

This release makes codecs much simpler to author and lets you layer Ably Pub/Sub Presence and LiveObjects onto the same session as your AI stream.

The main changes:

  • Declarative codec authoring: defining or customising a codec is now declarative. You describe each wire event once and defineCodec derives both the encode and decode sides, instead of hand-writing and hand-syncing separate encoder, decoder, and reducer logic. Event ordering and de-duplication now live in the transport, so conversations converge correctly even when events arrive late or out of order.
  • Presence and LiveObjects pass-through: sessions now expose the Ably Presence and LiveObjects APIs on their channel, so you can show who is in a conversation or share synced state alongside AI messaging, with no separate channel to manage. You can set explicit channel modes (merged with the session defaults) so LiveObjects gets the object modes it needs, and Presence works directly with ably-js's usePresence React hook.
  • Other fixes and improvements: history now paginates by message rather than by run for more predictable loading; agent run errors carry their cause to the client instead of a generic message; the client id is read from your Ably client automatically; and regenerating a reply after a tool call no longer corrupts the conversation.

This release contains a number of breaking changes; see the full release page for details.

For the full changelog, please visit the GitHub release page.

JS Client Library Release v2.23.0

 

Client Library SDK Improvement

 

Client Library SDK Fix

  

Version 2.23.0 of the JS Client Library has been released.

The React channel hooks can now infer the channel from the nearest ChannelProvider, letting you omit the channelName argument and use new listener-only and callback-only overloads of the library's React hooks. This release also fixes a presence bug where automatic re-enter could fail with "Unable to perform operation on channel" NACKs after reconnecting from a transient disconnect.

For the full changelog, please visit the GitHub release page.

Improved visibility into LiveObjects

 

LiveObjects

 

Improvement

  

We’ve updated the dashboard to give you more visibility into the LiveObjects you create and maintain on your channels. This includes two main items:

  • A realtime stream of each object operation as they occur.

  • A visualisation of all LiveObjects on the channel that is updated in realtime. This enables you to quickly see exactly which objects exist on a channel and their associated values.

This functionality is available in two locations; if you view it under LiveObjects > Objects then you’ll only see LiveObjects data for your channel. If you view it under Pub/Sub > Channels, then you can see all operations happening on the channel, such as messages being published and updated, and users entering and leaving presence.

JS Client Library Release v2.22.1

 

Client Library SDK Fix

  

Version 2.22.1 of the JS Client Library has been released.

This patch release fixes the deprecated v1 callback API overloads, which were declared with a never return type in 2.22.0. That return type broke mock assignment, making it impossible to stub or mock these methods in tests. The return type is now void, restoring compatibility for code that mocks the deprecated v1 callback interface.

For the full changelog, please visit the GitHub release page.

Ably AI Transport JS SDK Release v0.2.0

 

Client Library SDK Improvement

  

Version 0.2.0 of the Ably AI Transport JS SDK has been released.

This release gives a clearer session/run API and more robust support for branching conversations and human-in-the-loop handoff.

The main changes:

  • Session/run model: the transport/turn API is renamed to session/run (createClientSession / createAgentSession, ClientSession / AgentSession, ActiveRun, Run.pipe).
  • Event-sourced codec: the codec is now a reducer over a Run-keyed conversation tree, where editing a prompt forks a branch and regenerating continues a run.
  • Suspend and resume: runs awaiting participant input can suspend and later resume, via new run lifecycle events.
  • Wire protocol: realigned on-the-wire message names and headers.
  • Session construction: sessions now take an Ably client and channel name.
  • Runtime: Node 20 is dropped (Node 22+ now required).

This release contains a number of breaking changes; see the full release page for details.

For the full changelog, please visit the GitHub release page.

JS Client Library Release v2.22.0

 

Client Library SDK Improvement

  

Version 2.22.0 of the JS Client Library has been released.

This release makes the agent channel option additive in React hooks, so custom agents are now appended alongside the React Hooks agent rather than replacing it. It also changes channels.release() to implicitly detach the channel instead of throwing on an unexpected channel state, adds the missing RestAnnotation#delete typings, and marks public ObjectMessage.id and .timestamp as optional. Legacy v1 ably/promises and ably/callbacks imports now throw, and the v1 callback API is formally deprecated.

For the full changelog, please visit the GitHub release page.

Ably Chat JS SDK v1.4.0

 

Client Library SDK Improvement

    

New feature

  

Version 1.4.0 of the Chat JS SDK has been released.

This release adds support for idempotent REST publishing and the ability to fetch message version history via getVersions() exposed on the Messages class.

For the full changelog, please visit the Github release page.

Ably Pub/Sub Dart SDK v0.1.0

 

New Client Library SDK

  

Version 0.1.0 of the Ably Pub/Sub Dart SDK has been released on pub.dev as an early adoption release. The SDK is well-tested and ready to build with. The API is stable for the majority of use cases, though some changes are possible before 1.0. We'd love to hear feedback from developers building with Dart and Flutter.

The SDK is a pure-Dart implementation that works across Flutter (mobile, desktop, web) and standalone Dart applications. This release covers the core Pub/Sub surface:

  • REST client — publish messages, retrieve channel history, manage presence, and fetch account stats

  • Realtime client — persistent connection with full connection state management (connecting, connected, disconnected, suspended, failed)

  • Authentication — API key, token auth, token request callbacks, and authUrl-based token fetching

  • MessagePack encoding — binary transport encoding alongside the default JSON encoding

  • Fallback host support — automatic failover to fallback endpoints on connection failure

  • Pagination — cursor-based pagination on history, presence, and stats responses

    The main entry points are RestClient and RealtimeClient. A working Flutter example app covering mobile, desktop, and web targets is included in the repository.

    For the full changelog, see the GitHub release page.

Ably CLI Release V1.1.1

 

Improvement

  

npx -p @ably/cli ably init now installs the CLI globally as part of the onboarding step, so the Ably CLI is available in every shell from then on. Run ably init --help to list available flags for finer control.

The install step is non-blocking: if it can't complete, for example because npm install -g would require elevated permissions on a system-wide Node install, init carries on with authentication and Agent Skills installation, and tells the user how to install manually afterwards.

For the full changelog, see the Github release page.