Ably

Latest version: v2.0.11

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

Scan your dependencies

Page 2 of 4

2.0.5

[Full Changelog](https://github.com/ably/ably-python/compare/v2.0.4...v2.0.5)

**Closed issues:**

- Question: Bump websockets version [\556](https://github.com/ably/ably-python/issues/556)
- "RuntimeError: no running event loop" exception when connecting to Realtime [\555](https://github.com/ably/ably-python/issues/555)

**Merged pull requests:**

- Bumped up websocket lib [\557](https://github.com/ably/ably-python/pull/557) ([sacOO7](https://github.com/sacOO7))

2.0.4

[Full Changelog](https://github.com/ably/ably-python/compare/v2.0.3...v2.0.4)

**Merged pull requests:**

- Upgrade httpx version [\552](https://github.com/ably/ably-python/pull/552) ([sacOO7](https://github.com/sacOO7))

2.0.3

[Full Changelog](https://github.com/ably/ably-python/compare/v2.0.2...v2.0.3)

**Closed issues:**

- Support for python 3.12 [\546](https://github.com/ably/ably-python/issues/546)

**Merged pull requests:**

- Support latest python versions [\547](https://github.com/ably/ably-python/pull/547) ([sacOO7](https://github.com/sacOO7))
- Update README.md to add in 'publish message to channel including metadata' [\545](https://github.com/ably/ably-python/pull/545) ([cameron-michie](https://github.com/cameron-michie))

2.0.2

[Full Changelog](https://github.com/ably/ably-python/compare/v2.0.1...v2.0.2)

**Implemented enhancements:**

- Add synchronous AblyRest client (for more info see the [docs]()) [\537](https://github.com/ably/ably-python/issues/537)

**Closed issues:**

- Update httpx dependency to version 0.24.1 or higher [\523](https://github.com/ably/ably-python/issues/523)

**Merged pull requests:**

- Updated poetry httpx dependency and lock file [\524](https://github.com/ably/ably-python/pull/524) ([sacOO7](https://github.com/sacOO7))
- Remove unused dependency: h2 [\526](https://github.com/ably/ably-python/pull/526) ([gdrosos](https://github.com/gdrosos))
- Add sync support using unasync [\537](https://github.com/ably/ably-python/pull/526) ([sacOO7](https://github.com/sacOO7))

2.0.1

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

**Closed issues:**

- Implement / Add tests for TM1,TM2,TM3 Message spec [\516](https://github.com/ably/ably-python/issues/516)

**Merged pull requests:**

- \[SDK-3807\] Implement and test empty inner message fields [\517](https://github.com/ably/ably-python/pull/517) ([sacOO7](https://github.com/sacOO7))

2.0.0

**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](https://github.com/ably/ably-python/blob/main/UPDATING.md) for instructions on how to upgrade to 2.0.

[Full Changelog](https://github.com/ably/ably-python/compare/v1.2.2...v2.0.0)

- refactor!: add mandatory version param to `Rest.request` [\500](https://github.com/ably/ably-python/issues/500)
- bump api_version to 2.0, add DeviceDetails.deviceSecret [\507](https://github.com/ably/ably-python/issues/507)
- Include cause in AblyException.__str__ result [\508](https://github.com/ably/ably-python/issues/508)
- feat!: use api v3 and untyped stats [\505](https://github.com/ably/ably-python/issues/505)
- Implement `add_request_ids` client option [\399](https://github.com/ably/ably-python/issues/399)
- Improve logger output upon disconnection [\492](https://github.com/ably/ably-python/issues/492)
- Fix an issue where in some cases the client was unable to recover after loss of connectivity [\493](https://github.com/ably/ably-python/issues/493)
- Remove soft-deprecated APIs [\482](https://github.com/ably/ably-python/issues/482)
- Improve realtime client typings [\476](https://github.com/ably/ably-python/issues/476)
- Improve REST client typings [\477](https://github.com/ably/ably-python/issues/477)
- Stop raising `KeyError` when releasing a channel which doesn't exist [\474](https://github.com/ably/ably-python/issues/474)
- Allow token auth methods for realtime constructor [\425](https://github.com/ably/ably-python/issues/425)
- Send `AUTH` protocol message when `Auth.authorize` called on realtime client [\427](https://github.com/ably/ably-python/issues/427)
- Reauth upon inbound `AUTH` protocol message [\428](https://github.com/ably/ably-python/issues/428)
- Handle connection request failure due to token error [\445](https://github.com/ably/ably-python/issues/445)
- Handle token `ERROR` response to a resume request [\444](https://github.com/ably/ably-python/issues/444)
- Handle `DISCONNECTED` messages containing token errors [\443](https://github.com/ably/ably-python/issues/443)
- Pass `clientId` as query string param when opening a new connection [\449](https://github.com/ably/ably-python/issues/449)
- Validate `clientId` in `ClientOptions` [\448](https://github.com/ably/ably-python/issues/448)
- Apply `AuthclientId` only after a realtime connection has been established [\409](https://github.com/ably/ably-python/issues/409)
- Channels should transition to `INITIALIZED` if `Connection.connect` called from terminal state [\411](https://github.com/ably/ably-python/issues/411)
- Calling connect while `CLOSING` should start connect on a new transport [\410](https://github.com/ably/ably-python/issues/410)
- Handle realtime channel errors [\455](https://github.com/ably/ably-python/issues/455)
- 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)
- Fix a bug with realtime_host configuration [\358](https://github.com/ably/ably-python/pull/358)
- 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)

Page 2 of 4

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.