- Added support for binary RTM protocol. Enable by passing protocol='cbor' to make_client, Client or Connection constructors
- satori.rtm.logger module is now internal. Client code should access the logger
object as
logging.getLogger('satori.rtm')
for configuration. If in doubt, configure logging at the startup of your application like this:import logging logging.basicConfig()
- Serialize messages before publishing to avoid issues with mutable messages
- All callbacks (state changes, subscription data and errors, request replies) are now called from a single thread.
- Client object now stops when any user callback throws an exception
- Propagate subscribe error reason into SubscriptionObserver.on_enter_failed callback
- Added https proxy support (no authentication)
- Rename to satori-rtm-sdk
- Unhardcode role name for tests
- Made error message for invalid endpoint clearer
- Added optional parameter auth_delegate to make_client function for easier authentication
- Fixed docstring in logger module
- Subscriptions are now preserved over the course of
client.stop() >> client.start()
sequence. This change unifies behavior with other Satori RTM SDKs - Introduced AuthError exception class (this class is a subclass of RuntimeException so it's a backward compatible change)
- Fixed curses_chat example
- Authentication is now repeated on reconnects by default (was opt-in earlier, now opt-out)
- Fixed double call of
opened()
that could lead to spurious reconnects - No longer require users to install backports.ssl and PyOpenSSL manually for older Python versions
- Added support for secure websockets with CPython 2.7.0 - 2.7.8
- Fixed RoleSecretAuthDelegate name in docstrings about authentication
- Fixed random failure to autoreconnect in satori.rtm.client
- Initial release