Ably

Latest version: v2.0.6

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

Scan your dependencies

Page 2 of 3

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)

2.0.0beta.6

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

- 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)

2.0.0beta.5

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](https://github.com/ably/ably-python/blob/main/UPDATING.md).

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

- 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)

2.0.0beta.4

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.

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

- 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)

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)

Page 2 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.