Ably

Latest version: v2.0.8

Safety actively analyzes 701809 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 4

2.0.0beta.3

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.

[Full Changelog](https://github.com/ably/ably-python/compare/v2.0.0-beta.2...v2.0.0-beta.3)

- Resend protocol messages for pending channels upon resume [\347](https://github.com/ably/ably-python/issues/347)
- Attempt to resume connection when disconnected unexpectedly [\346](https://github.com/ably/ably-python/issues/346)
- Handle `CONNECTED` messages once connected [\345](https://github.com/ably/ably-python/issues/345)
- Implement `maxIdleInterval` [\344](https://github.com/ably/ably-python/issues/344)
- Implement realtime connectivity check [\343](https://github.com/ably/ably-python/issues/343)
- Use fallback realtime hosts when encountering an appropriate error [\342](https://github.com/ably/ably-python/issues/342)
- Add `fallbackHosts` client option for realtime clients [\341](https://github.com/ably/ably-python/issues/341)
- Implement `connectionStateTtl` [\340](https://github.com/ably/ably-python/issues/340)
- Implement `disconnectedRetryTimeout` [\339](https://github.com/ably/ably-python/issues/339)
- Handle recoverable connection opening errors [\338](https://github.com/ably/ably-python/issues/338)
- Implement `channelRetryTimeout` [\442](https://github.com/ably/ably-python/issues/436)
- Queue protocol messages when connection state is `CONNECTING` or `DISCONNECTED` [\418](https://github.com/ably/ably-python/issues/418)
- Propagate connection interruptions to realtime channels [\417](https://github.com/ably/ably-python/issues/417)
- Spec compliance: `Realtime.connect` should be sync [\413](https://github.com/ably/ably-python/issues/413)
- Emit `update` event on additional `ATTACHED` message [\386](https://github.com/ably/ably-python/issues/386)
- Set the `ATTACH_RESUME` flag on unclean attach [\385](https://github.com/ably/ably-python/issues/385)
- Handle fatal resume error [\384](https://github.com/ably/ably-python/issues/384)
- Handle invalid resume response [\383](https://github.com/ably/ably-python/issues/383)
- Handle clean resume response [\382](https://github.com/ably/ably-python/issues/382)
- Send resume query param when reconnecting within `connectionStateTtl` [\381](https://github.com/ably/ably-python/issues/381)
- Immediately reattempt connection when unexpectedly disconnected [\380](https://github.com/ably/ably-python/issues/380)
- Clear connection state when `connectionStateTtl` elapsed [\379](https://github.com/ably/ably-python/issues/379)
- Refactor websocket async tasks into WebSocketTransport class [\373](https://github.com/ably/ably-python/issues/373)
- Send version transport param [\368](https://github.com/ably/ably-python/issues/368)
- Clear `Connection.error_reason` when `Connection.connect` is called [\367](https://github.com/ably/ably-python/issues/367)

2.0.0beta.2

[Full Changelog](https://github.com/ably/ably-python/compare/v2.0.0-beta.1...v2.0.0-beta.2)
- Fix a bug with realtime_host configuration [\358](https://github.com/ably/ably-python/pull/358)

2.0.0beta.1

**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.

[Full Changelog](https://github.com/ably/ably-python/compare/v1.2.1...2.0.0-beta.1)

- Create Basic Api Key connection [\311](https://github.com/ably/ably-python/pull/311)
- Send Ably-Agent header in realtime connection [\314](https://github.com/ably/ably-python/pull/314)
- Close client service [\315](https://github.com/ably/ably-python/pull/315)
- Implement EventEmitter interface on Connection [\316](https://github.com/ably/ably-python/pull/316)
- Finish tasks gracefully on failed connection [\317](https://github.com/ably/ably-python/pull/317)
- Implement realtime ping [\318](https://github.com/ably/ably-python/pull/318)
- Realtime channel attach/detach [\319](https://github.com/ably/ably-python/pull/319)
- Add `auto_connect` implementation and client option [\325](https://github.com/ably/ably-python/pull/325)
- RealtimeChannel subscribe/unsubscribe [\326](https://github.com/ably/ably-python/pull/326)
- ConnectionStateChange [\327](https://github.com/ably/ably-python/pull/327)
- Improve realtime logging [\330](https://github.com/ably/ably-python/pull/330)
- Update readme with realtime documentation [\334](334](https://github.com/ably/ably-python/pull/334)
- Use string-based enums [\351](https://github.com/ably/ably-python/pull/351)
- Add environment client option for realtime [\335](https://github.com/ably/ably-python/pull/335)
- EventEmitter: allow signatures with no event arg [\350](https://github.com/ably/ably-python/pull/350)

1.2.1

[Full Changelog](https://github.com/ably/ably-python/compare/v1.2.0...v1.2.1)

**Implemented enhancements:**

- Add support to get channel lifecycle status [\271](https://github.com/ably/ably-python/issues/271)
- Migrate project to poetry [\305](https://github.com/ably/ably-python/issues/305)

1.2.0

**Breaking API Changes**: Please see our [Upgrade / Migration Guide](UPDATING.md) 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.

[Full Changelog](https://github.com/ably/ably-python/compare/v1.1.1...v1.2.0)

**Implemented enhancements:**

- Respect content-type with charset [\256](https://github.com/ably/ably-python/issues/256)
- Release a new version for python 3.10 support [\249](https://github.com/ably/ably-python/issues/249)
- Support HTTP/2 [\197](https://github.com/ably/ably-python/issues/197)
- Support Async HTTP [\171](https://github.com/ably/ably-python/issues/171)
- Implement RSC7d \(Ably-Agent header\) [\168](https://github.com/ably/ably-python/issues/168)
- Defaults: Generate environment fallbacks [\155](https://github.com/ably/ably-python/issues/155)
- Clarify string encoding when sending push notifications [\119](https://github.com/ably/ably-python/issues/119)
- Support for environments fallbacks [\198](https://github.com/ably/ably-python/pull/198) ([d8x](https://github.com/d8x))

**Fixed bugs:**

- Channel.publish sometimes returns None after exhausting retries [\160](https://github.com/ably/ably-python/issues/160)
- Token issue potential bug [\54](https://github.com/ably/ably-python/issues/54)

**Closed issues:**

- Conform ReadMe and create Contributing Document [\199](https://github.com/ably/ably-python/issues/199)
- Add support for DataTypes TokenParams AO2g [\187](https://github.com/ably/ably-python/issues/187)
- Add support for TO3m [\172](https://github.com/ably/ably-python/issues/172
- Using a clientId should no longer be forcing token auth in the 1.1 spec [\149](https://github.com/ably/ably-python/issues/149)

**Merged pull requests:**

- Add support for Python 3.10, age out 3.6 [\253](https://github.com/ably/ably-python/pull/253) ([tomkirbygreen](https://github.com/tomkirbygreen))
- Compat with 'httpx' public API changes. [\252](https://github.com/ably/ably-python/pull/252) ([tomkirbygreen](https://github.com/tomkirbygreen))
- Respect content-type with charset [\248](https://github.com/ably/ably-python/pull/248) ([tomkirbygreen](https://github.com/tomkirbygreen))
- 'TypedBuffer' fix attempt to call a non-callable object [\226](https://github.com/ably/ably-python/pull/226) ([tomkirbygreen](https://github.com/tomkirbygreen))
- 'auth' module, fix possible unbound local variables warning [\225](https://github.com/ably/ably-python/pull/225) ([tomkirbygreen](https://github.com/tomkirbygreen))
- rest setup - fix redeclared name without usage [\217](https://github.com/ably/ably-python/pull/217) ([tomkirbygreen](https://github.com/tomkirbygreen))
- Fixes mutable-value used as argument default value [\215](https://github.com/ably/ably-python/pull/215) ([tomkirbygreen](https://github.com/tomkirbygreen))
- Fixes most of the PEP 8 coding style violations [\214](https://github.com/ably/ably-python/pull/214) ([tomkirbygreen](https://github.com/tomkirbygreen))
- 'Channel' remove unused 'history' parameter 'timeout'. [\209](https://github.com/ably/ably-python/pull/209) ([tomkirbygreen](https://github.com/tomkirbygreen))
- \[\149\] Specifying clientId does not force token auth [\204](https://github.com/ably/ably-python/pull/204) ([d8x](https://github.com/d8x))
- Support for async [\202](https://github.com/ably/ably-python/pull/202) ([d8x](https://github.com/d8x))
- Support for HTTP/2 Protocol [\200](https://github.com/ably/ably-python/pull/200) ([d8x](https://github.com/d8x))
- Add missing `modified` property in DeviceDetails [\196](https://github.com/ably/ably-python/pull/196) ([d8x](https://github.com/d8x))
- RSC7d - Support for Ably-Agent header [\195](https://github.com/ably/ably-python/pull/195) ([d8x](https://github.com/d8x))
- fix error message for invalid push data type [\169](https://github.com/ably/ably-python/pull/169) ([netspencer](https://github.com/netspencer))
- Raise error if all servers reply with a 5xx response [\161](https://github.com/ably/ably-python/pull/161) ([jdavid](https://github.com/jdavid))

1.1.1

[Full Changelog](https://github.com/ably/ably-python/compare/v1.1.0...v1.1.1)

**Implemented enhancements:**

- Improve handling of clock skew [\145](https://github.com/ably/ably-python/issues/145)
- Test variable length 256 bit AES CBC fixtures [\150](https://github.com/ably/ably-python/pull/150) ([QuintinWillison](https://github.com/QuintinWillison))

**Closed issues:**

- Remove develop branch [\151](https://github.com/ably/ably-python/issues/151)

**Merged pull requests:**

- bump msgpack version to 1.0.0 and update tests [\152](https://github.com/ably/ably-python/pull/152) ([abordeau](https://github.com/abordeau))
- Fix flake8 [\148](https://github.com/ably/ably-python/pull/148) ([jdavid](https://github.com/jdavid))
- RSA4b1 Detect expired token to avoid extra request [\147](https://github.com/ably/ably-python/pull/147) ([jdavid](https://github.com/jdavid))
- push.admin.publish returns None [\146](https://github.com/ably/ably-python/pull/146) ([jdavid](https://github.com/jdavid))
- 'Known limitations' section in the README [\143](https://github.com/ably/ably-python/pull/143) ([Srushtika](https://github.com/Srushtika))

Page 3 of 4

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.