Skip to content

Latest commit

 

History

History
560 lines (406 loc) · 39.6 KB

CHANGELOG.md

File metadata and controls

560 lines (406 loc) · 39.6 KB

Change Log

Full Changelog

Fixed bugs:

  • Decoding issue for 40010 Error (Invalid Channel Name) #569

Full Changelog

Closed issues:

  • Support httpx 0.26, 0.27 and so on #560

Merged pull requests:

Full Changelog

Closed issues:

  • Question: Bump websockets version #556
  • "RuntimeError: no running event loop" exception when connecting to Realtime #555

Merged pull requests:

Full Changelog

Merged pull requests:

Full Changelog

Closed issues:

  • Support for python 3.12 #546

Merged pull requests:

  • Support latest python versions #547 (sacOO7)
  • Update README.md to add in 'publish message to channel including metadata' #545 (cameron-michie)

Full Changelog

Implemented enhancements:

  • Add synchronous AblyRest client (for more info see the docs) #537

Closed issues:

  • Update httpx dependency to version 0.24.1 or higher #523

Merged pull requests:

Full Changelog

Closed issues:

  • Implement / Add tests for TM1,TM2,TM3 Message spec #516

Merged pull requests:

  • [SDK-3807] Implement and test empty inner message fields #517 (sacOO7)

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.

Full Changelog

  • refactor!: add mandatory version param to Rest.request #500
  • bump api_version to 2.0, add DeviceDetails.deviceSecret #507
  • Include cause in AblyException.str result #508
  • feat!: use api v3 and untyped stats #505
  • Implement add_request_ids client option #399
  • Improve logger output upon disconnection #492
  • Fix an issue where in some cases the client was unable to recover after loss of connectivity #493
  • Remove soft-deprecated APIs #482
  • Improve realtime client typings #476
  • Improve REST client typings #477
  • Stop raising KeyError when releasing a channel which doesn't exist #474
  • Allow token auth methods for realtime constructor #425
  • Send AUTH protocol message when Auth.authorize called on realtime client #427
  • Reauth upon inbound AUTH protocol message #428
  • Handle connection request failure due to token error #445
  • Handle token ERROR response to a resume request #444
  • Handle DISCONNECTED messages containing token errors #443
  • Pass clientId as query string param when opening a new connection #449
  • Validate clientId in ClientOptions #448
  • Apply Auth#clientId only after a realtime connection has been established #409
  • Channels should transition to INITIALIZED if Connection.connect called from terminal state #411
  • Calling connect while CLOSING should start connect on a new transport #410
  • Handle realtime channel errors #455
  • Resend protocol messages for pending channels upon resume #347
  • Attempt to resume connection when disconnected unexpectedly #346
  • Handle CONNECTED messages once connected #345
  • Implement maxIdleInterval #344
  • Implement realtime connectivity check #343
  • Use fallback realtime hosts when encountering an appropriate error #342
  • Add fallbackHosts client option for realtime clients #341
  • Implement connectionStateTtl #340
  • Implement disconnectedRetryTimeout #339
  • Handle recoverable connection opening errors #338
  • Implement channelRetryTimeout #442
  • Queue protocol messages when connection state is CONNECTING or DISCONNECTED #418
  • Propagate connection interruptions to realtime channels #417
  • Spec compliance: Realtime.connect should be sync #413
  • Emit update event on additional ATTACHED message #386
  • Set the ATTACH_RESUME flag on unclean attach #385
  • Handle fatal resume error #384
  • Handle invalid resume response #383
  • Handle clean resume response #382
  • Send resume query param when reconnecting within connectionStateTtl #381
  • Immediately reattempt connection when unexpectedly disconnected #380
  • Clear connection state when connectionStateTtl elapsed #379
  • Refactor websocket async tasks into WebSocketTransport class #373
  • Send version transport param #368
  • Clear Connection.error_reason when Connection.connect is called #367
  • Fix a bug with realtime_host configuration #358
  • Create Basic Api Key connection #311
  • Send Ably-Agent header in realtime connection #314
  • Close client service #315
  • Implement EventEmitter interface on Connection #316
  • Finish tasks gracefully on failed connection #317
  • Implement realtime ping #318
  • Realtime channel attach/detach #319
  • Add auto_connect implementation and client option #325
  • RealtimeChannel subscribe/unsubscribe #326
  • ConnectionStateChange #327
  • Improve realtime logging #330
  • Update readme with realtime documentation [#334](334](#334)
  • Use string-based enums #351
  • Add environment client option for realtime #335
  • EventEmitter: allow signatures with no event arg #350

Full Changelog

  • Improve logger output upon disconnection #492
  • Fix an issue where in some cases the client was unable to recover after loss of connectivity #493

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.

Full Changelog

  • Remove soft-deprecated APIs #482
  • Improve realtime client typings #476
  • Improve REST client typings #477
  • Stop raising KeyError when releasing a channel which doesn't exist #474

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

  • Allow token auth methods for realtime constructor #425
  • Send AUTH protocol message when Auth.authorize called on realtime client #427
  • Reauth upon inbound AUTH protocol message #428
  • Handle connection request failure due to token error #445
  • Handle token ERROR response to a resume request #444
  • Handle DISCONNECTED messages containing token errors #443
  • Pass clientId as query string param when opening a new connection #449
  • Validate clientId in ClientOptions #448
  • Apply Auth#clientId only after a realtime connection has been established #409
  • Channels should transition to INITIALIZED if Connection.connect called from terminal state #411
  • Calling connect while CLOSING should start connect on a new transport #410
  • Handle realtime channel errors #455

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

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

Full Changelog

  • Fix 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 authentication and realtime message subscription. Check out the README for usage examples.

Full Changelog

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

Full Changelog

Implemented enhancements:

  • Add support to get channel lifecycle status #271
  • Migrate project to poetry #305

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.

Full Changelog

Implemented enhancements:

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

Fixed bugs:

  • Channel.publish sometimes returns None after exhausting retries #160
  • Token issue potential bug #54

Closed issues:

  • Conform ReadMe and create Contributing Document #199
  • Add support for DataTypes TokenParams AO2g #187
  • Add support for TO3m [#172](#172
  • Using a clientId should no longer be forcing token auth in the 1.1 spec #149

Merged pull requests:

Full Changelog

Implemented enhancements:

Closed issues:

  • Remove develop branch #151

Merged pull requests:

Full Changelog

Closed issues:

  • Idempotent publishing is not enabled in the upcoming 1.1 release #132
  • forward slash in channel name #130
  • Refactor tests setup #109

Implemented enhancements:

  • Add support for remembered REST fallback host #131
  • Ensure request method accepts UPDATE, PATCH & DELETE verbs #128
  • Add idempotent REST publishing support #121
  • Allow to configure logger #107

Merged pull requests:

  • Fix flake8 #142 (jdavid)
  • Rsc15f Support for remembered REST fallback host #141 (jdavid)
  • Add patch #135 (jdavid)
  • Idempotent publishing #129 (jdavid)
  • Push #127 (jdavid)
  • RSH1c5 New push.admin.channel_subscriptions.remove_where #126 (jdavid)
  • RSH1c4 New push.admin.channel_subscriptions.remove #125 (jdavid)
  • RSH1c2 New push.admin.channel_subscriptions.list_channels #124 (jdavid)
  • RSH1c1 New push.admin.channel_subscriptions.list #120 (jdavid)
  • RSH1c3 New push.admin.channel_subscriptions.save #118 (jdavid)
  • RHS1b5 New push.admin.device_registrations.remove_where #117 (jdavid)
  • RHS1b4 New push.admin.device_registrations.remove #116 (jdavid)
  • RSH1b2 New push.admin.device_registrations.list #114 (jdavid)
  • Rsh1b1 New push.admin.device_registrations.get #113 (jdavid)
  • RSH1b3 New push.admin.device_registrations.save #112 (jdavid)
  • Document how to configure logging #110 (jdavid)
  • Rsh1a New push.admin.publish #106 (jdavid)

v1.0.3 (2019-01-18)

Full Changelog

Closed issues:

  • Travis failures with Python 2 in the 1.0 branch #138

Fixed bugs:

  • Authentication with auth_url doesn't accept camel case #136

Merged pull requests:

v1.0.2 (2018-12-10)

Full Changelog

Fixed bugs:

  • HTTP connection pooling #133
  • Timeouts when publishing messages #111
  • AWS lambda packaging #97
  • Rate limit requests to sandbox app #68

Closed issues:

  • TokenRequest ttl unit discrepancy #104
  • Python subscribe? #100

Merged pull requests:

v1.0.1 (2017-12-20)

Full Changelog

Implemented enhancements:

  • Fix HttpRequest & HttpRetry timeouts #86
  • Cast TTL to integer #71
  • Make PyCrypto optional #65

Fixed bugs:

  • Travis random failures #88

Closed issues:

  • pycrypto --> pycryptodome #96
  • ably module seems to be broken / empty in some circumstances #95
  • installing via pip installs a more restrictive version of requests #91
  • Add test coverage to prevent possible MsgPack regression #89
  • 1.0 spec review #84
  • When using python2 with msgpack, dicts are not encoded correctly #72

Merged pull requests:

  • Fix unit tests #99 (jdavid)
  • Switch to cryptodome #98 (jdavid)
  • ttl: use isinstance instead of type #94 (jdavid)
  • Fix Flake8 warnings regarding spacing #93 (sginn)
  • Bumped upper limit on requests library, and removed websocket #92 (sginn)
  • Fix #65, #71, #72, #86 and #89 #90 (jdavid)

v1.0.0 (2017-03-07)

Full Changelog

v1.0 release and upgrade notes from v0.8

Implemented enhancements:

  • RSC19*, HP* - New REST #request method + HttpPaginatedResponse type #78
  • Update REST library for realtime platform to v1.0 specification #77

Closed issues:

  • requests version pin too strict? #66

Merged pull requests:

  • Issue#84 TP4, RSC15a (test), RSC19e (test), .. #87 (jdavid)
  • Fix issue 72 #85 (jdavid)
  • Fix README, now using pytest instead of nose #83 (jdavid)
  • RSA5, RSA6, RSA10, RSL*, TM*, TE6, TD7 #82 (jdavid)

v0.8.2 (2017-02-17)

Full Changelog

Implemented enhancements:

  • PaginatedResult attributes #70
  • 0.8.x finalisation #48

Fixed bugs:

  • Do not persist authorise attributes force & timestamp #52

Closed issues:

  • Publish on PyPI #50

Merged pull requests:

  • RSC7, RSC11, RSC15, RSC19 #81 (jdavid)
  • Several python code repo improvements #73 (txomon)
  • updated reqests version in requirements #67 (essweine)

v0.8.1 (2016-03-22)

Full Changelog

Implemented enhancements:

  • Don't require get_default_params for encryption #56
  • Consistent README #8

Closed issues:

  • when msgpack enabled, python 2 string literals are encoded as binaries #60

Merged pull requests:

v0.8.0 (2016-03-10)

Implemented enhancements:

  • Switch arity of auth methods #42
  • API changes Apr 2015 #7
  • Change of repository name imminent #4

Fixed bugs:

  • Switch arity of auth methods #42
  • Use sandbox not staging #38
  • API changes Apr 2015 #7

Closed issues:

  • AblyException does not have __str__ #32
  • Add a requirements-test.txt #29
  • Fix message on test #23
  • Rename test_channels_remove to test_channels_release #20
  • Add comments in Python 2/3 code at ably/rest/channel.py #19
  • Support for 2.6 #10
  • Spec validation #9

Merged pull requests:

* This Change Log was automatically generated by github_changelog_generator