NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3826 most downloaded on PyPI
Python REST and Realtime client library SDK for Ably realtime messaging service
Last release 11 days ago
23 Sep 2026
Release timing varies
gaps range from 2 weeks to 6 months
Nearly every release is documented
notes for 37 of 39 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
50 releases · first in 2016
Fixed delta decoding so a protocol message carrying several chained delta messages decodes as a chain, instead of failing on the second message and dr
Fixed ping() so a timed-out, rejected, or connection-dropped ping no longer leaves a stale future behind that made every later ping() call fail or han
ping() so a timed-out, rejected, or connection-dropped ping no longer leaves a stale future behind that made every later ping() call fail or hang #687data is now encrypted on publish and decrypted on REST get() for channels with a cipher configured, instead of being sent in plaintext #680One column per quarter.
Fixed preserving extras in message updates methods to prevent data loss #670
Fixed handling of normal WebSocket close frames and improved reconnection logic #672
Added realtime and rest support for Annotations API #667
Deprecated environment, rest_host, and realtime_host client options in favor of endpoint option #590
environment, rest_host, and realtime_host client options in favor of endpoint option #590environment, rest_host, and realtime_host client options in favor of endpoint option #590The 3.0.0 version of ably-python introduces several breaking changes to improve the realtime experience and align the API with the Ably specification. These include:
ably.realtime.realtime_channel module renamed to ably.realtime.channelChannelOptions moved to ably.types.channeloptionsenvironment, rest_host, and realtime_host client options in favor of endpoint optionFor detailed migration instructions, please refer to the Upgrading Guide.
Fixed handling of normal WebSocket close frames and improved reconnection logic #672
Got rid of methoddispatch dependency in \#639
methoddispatch dependency in #639Support methoddispatch version 5 \#634
Added missed sync folder to the wheel package
sync folder to the wheel packageAdded support for VCDiff delta-compressed messages. If VCDiff compression is enabled in the client options, and deltas are provided by the Ably servic
Removed await from sync connect() function call by @kavindail in https://github.com/ably/ably-python/pull/605
connect() function call by @kavindail in https://github.com/ably/ably-python/pull/605The REST client’s retry mechanism doesn’t follow the spec and doesn’t retry when it should \#597
Closed issues:
Support websockets version 13 \#591
Fixed sync version of the library
Fixed sync version of the library
Fix the inability to pass a JSON string value for a capability parameter when creating a token \#579
Fix TypeError: '>' not supported between instances of 'float' and 'NoneType' in http \#573
Fixed bugs:
TypeError: '>' not supported between instances of 'float' and 'NoneType' in http #573Decoding issue for 40010 Error \(Invalid Channel Name\) \#569
Support httpx 0.26, 0.27 and so on \#560
Question: Bump websockets version \#556
Upgrade httpx version \#552 (sacOO7)
Support latest python versions \#547 (sacOO7)
Closed issues:
Merged pull requests:
Add synchronous AblyRest client \#537
Implemented enhancements:
Closed issues:
Merged pull requests:
Nothing published for this version
Nothing published for this version
Nothing published for this version
Implement / Add tests for TM1,TM2,TM3 Message spec \#516
Check out the README for usage examples. There have been some minor breaking changes from the 1.2 version, please consult the migration guide for inst…
New ably-python realtime client: This new release features our first ever python realtime client! Currently the realtime client only supports realtime message subscription. Check out the README for usage examples. There have been some minor breaking changes from the 1.2 version, please consult the migration guide for instructions on how to upgrade to 2.0.
Rest.request #500add_request_ids client option #399KeyError when releasing a channel which doesn't exist #474AUTH protocol message when Auth.authorize called on realtime client #427AUTH protocol message #428ERROR response to a resume request #444DISCONNECTED messages containing token errors #443clientId as query string param when opening a new connection #449clientId in ClientOptions #448Auth#clientId only after a realtime connection has been established #409INITIALIZED if Connection.connect called from terminal state #411CLOSING should start connect on a new transport #410CONNECTED messages once connected #345maxIdleInterval #344fallbackHosts client option for realtime clients #341connectionStateTtl #340disconnectedRetryTimeout #339channelRetryTimeout #442CONNECTING or DISCONNECTED #418Realtime.connect should be sync #413update event on additional ATTACHED message #386ATTACH_RESUME flag on unclean attach #385connectionStateTtl #381connectionStateTtl elapsed #379Connection.error_reason when Connection.connect is called #367auto_connect implementation and client option #325Improve logger output upon disconnection \#492
The latest beta release of ably-python 2.0 makes some minor breaking changes, removing already soft-deprecated features from the 1.x branch. Most user…
The latest beta release of ably-python 2.0 makes some minor breaking changes, removing already soft-deprecated features from the 1.x branch. Most users will not be affected by these changes since the library was already warning that these features were deprecated. For information on how to migrate, please consult the migration guide.
This new beta release of the ably-python realtime client implements token authentication for realtime connections, allowing you to use all currently s
This new beta release of the ably-python realtime client implements token authentication for realtime connections, allowing you to use all currently supported token options to authenticate a realtime client (auth_url, auth_callback, jwt, etc). The client will reauthenticate when the token expires or otherwise becomes invalid.
AUTH protocol message when Auth.authorize called on realtime client #427AUTH protocol message #428ERROR response to a resume request #444DISCONNECTED messages containing token errors #443clientId as query string param when opening a new connection #449clientId in ClientOptions #448Auth#clientId only after a realtime connection has been established #409INITIALIZED if Connection.connect called from terminal state #411CLOSING should start connect on a new transport #410This new beta release of the ably-python realtime client implements a number of new features to improve the stability of realtime connections, allowin
This new beta release of the ably-python realtime client implements a number of new features to improve the stability of realtime connections, allowing the client to reconnect during a temporary disconnection, use fallback hosts when necessary, and catch up on messages missed while the client was disconnected.
CONNECTED messages once connected #345maxIdleInterval #344fallbackHosts client option for realtime clients #341connectionStateTtl #340disconnectedRetryTimeout #339channelRetryTimeout #442CONNECTING or DISCONNECTED #418Realtime.connect should be sync #413update event on additional ATTACHED message #386ATTACH_RESUME flag on unclean attach #385connectionStateTtl #381connectionStateTtl elapsed #379Connection.error_reason when Connection.connect is called #367Fix a bug with realtime_host configuration \#358
New ably-python realtime client: This beta release features our first ever python realtime client! Currently the realtime client only supports basic a
New ably-python realtime client: This beta release features our first ever python realtime client! Currently the realtime client only supports basic authentication and realtime message subscription. Check out the README for usage examples.
auto_connect implementation and client option #325Upgrade httpx and respx dependencies \#369
Add support to get channel lifecycle status \#271
Implemented enhancements:
Nothing published for this version
Breaking API Changes: Please see our Upgrade / Migration Guide for notes on changes you need to make to your code to update it to use the new API intr
Breaking API Changes: Please see our Upgrade / Migration Guide for notes on changes you need to make to your code to update it to use the new API introduced by version 1.2.0.
Implemented enhancements:
Fixed bugs:
Closed issues:
Merged pull requests:
modified property in DeviceDetails #196 (d8x)Improve handling of clock skew \#145
Implemented enhancements:
Closed issues:
Merged pull requests:
This is the first stable release supporting the Ably 1.1. library specification
This is the first stable release supporting the Ably 1.1. library specification
This 1.1 release brings many new features from 1.0:
See the complete release notes at https://blog.ably.io/ablys-client-library-sdks-1-1-release-8165c73c76fd
Closed issues:
Implemented enhancements:
Merged pull requests:
Full Changelog
Closed issues:
Fixed bugs:
Merged pull requests:
Full Changelog Implemented enhancements: - HTTP connection pooling
Fixed bugs:
Closed issues:
Merged pull requests:
Full Changelog Implemented enhancements: - Security and bug fix release
Implemented enhancements:
Fixed bugs:
Closed issues:
ably module seems to be broken / empty in some circumstances #95Merged pull requests:
Full Changelog
Implemented enhancements:
Closed issues:
Merged pull requests:
PaginatedResult attributes \#70
Don't require get\_default\_params for encryption \#56
Implemented enhancements:
Closed issues:
Merged pull requests:
Switch arity of auth methods \#42
Implemented enhancements:
Fixed bugs:
Closed issues:
Merged pull requests:
* This Change Log was automatically generated by github_changelog_generator
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →