Skip to content

Releases: tylertian123/pyryver

v0.4.0.post1

11 Jun 04:17
Compare
Choose a tag to compare

This post-release fixes a minor typo in Object.get_app_link() (#10), in addition to some minor documentation formatting issues.

v0.4.0

02 Jan 03:32
Compare
Choose a tag to compare

Release v0.4.0

Version 0.4 introduces auto-reconnect for RyverWS real-time clients! Minor breaking changes were introduced since 0.3.2. Please see the list below for changes.

For an example on how to use the new connection features, see Realtime Quickstart or the Example Usage on the homepage on Read the Docs.

Notable Changes (Since v0.3.2.post1)

Breaking Changes

  • To allow for re-connecting, RyverWS.close() will no longer cause RyverWS.run_forever() to return. Instead, RyverWS.terminate() was introduced to make run_forever() return. (2006da9)
  • Previously deprecated @RyverWS.on_error decorator was removed. (d4e36bd)
  • The orders of arguments for some methods taking attachments and a Creator were switched for consistency so that the attachment parameter always comes first (except in send_message()). (0b5bc03)
  • GroupChatMember's as_user() method has been made async because it needs to fetch additional information. This could be considered a bugfix. (11ca311)

New Features

  • RyverWS realtime sessions can now auto-reconnect (see RyverWS.set_auto_reconnect() and Ryver.get_live_session()'s new auto_reconnect parameter). (823a35b)
  • New decorator @RyverWS.on_reconnect for defining a callback to be called when auto-reconnect succeeds. (d4e36bd)
  • All methods that deal with files (e.g. attaching to a message, a topic or a task) can now take File objects and not just Storage objects. (4739637)
  • Ryver.get_object() now supports getting a list of objects. (e5cdccb)
  • All send_ and connect functions in RyverWS now have an optional timeout parameter that defaults to 5 seconds. (2fdebe6)
  • Most classes (Creator, TaskTag, all classes inheriting from Object, all WS message classes) now use __slots__ for memory savings and faster attribute access. (4e575ab)
  • Classes inheriting from Object are now all hashable (and hash to their IDs). (4e575ab)
  • Most classes now have a __repr__() implementation. Objects with names will have their names shown in their __repr__, and some other classes such as Messages will have even more information. (ab3f9f9, 0e9639c)
  • Ryver.get_groupchat() now take additional arguments to specify whether to search teams or forums. Ryver.get_team() and Ryver.get_forum() were introduced (e1903c7).
  • Add methods GroupChat.join() and GroupChat.leave() for joining and leaving forums and teams. (d14ccca)

v0.4.0b2

08 Dec 22:45
Compare
Choose a tag to compare
v0.4.0b2 Pre-release
Pre-release

Minor bugfix release.

Changes:

  • Fix bug in connection loss error handling for RyverWS. In previous releases, sometimes during the connection loss error handlers, an asyncio.InvalidStateError may be thrown, caused by calling Future.set_exception() on a future that's already done. This release fixes this bug.

v0.4.0b1

03 Nov 22:30
Compare
Choose a tag to compare
v0.4.0b1 Pre-release
Pre-release

First beta release of v0.4.0.

Notable Changes (Since v0.3.2.post1)

Breaking Changes

  • To allow for re-connecting, RyverWS.close() will no longer cause RyverWS.run_forever() to return. Instead, RyverWS.terminate() was introduced to make run_forever() return. (2006da9)
  • Previously deprecated @RyverWS.on_error decorator was removed. (d4e36bd)
  • The orders of arguments for some methods taking attachments and a Creator were switched for consistency so that the attachment parameter always comes first (except in send_message()). (0b5bc03)
  • GroupChatMember's as_user() method has been made async because it needs to fetch additional information. This could be considered a bugfix. (11ca311)

New Features

  • RyverWS realtime sessions can now auto-reconnect (see RyverWS.set_auto_reconnect() and Ryver.get_live_session()'s new auto_reconnect parameter). (823a35b)
  • New decorator @RyverWS.on_reconnect for defining a callback to be called when auto-reconnect succeeds. (d4e36bd)
  • All methods that deal with files (e.g. attaching to a message, a topic or a task) can now take File objects and not just Storage objects. (4739637)
  • Ryver.get_object() now supports getting a list of objects. (e5cdccb)
  • All send_ and connect functions in RyverWS now have an optional timeout parameter that defaults to 5 seconds. (2fdebe6)
  • Most classes (Creator, TaskTag, all classes inheriting from Object, all WS message classes) now use __slots__ for memory savings and faster attribute access. (4e575ab)
  • Classes inheriting from Object are now all hashable (and hash to their IDs). (4e575ab)
  • Most classes now have a __repr__() implementation. Objects with names will have their names shown in their __repr__, and some other classes such as Messages will have even more information. (ab3f9f9, 0e9639c)
  • Ryver.get_groupchat() now take additional arguments to specify whether to search teams or forums. Ryver.get_team() and Ryver.get_forum() were introduced (e1903c7).
  • Add methods GroupChat.join() and GroupChat.leave() for joining and leaving forums and teams. (d14ccca)

v0.4.0a5

02 Nov 17:32
Compare
Choose a tag to compare
v0.4.0a5 Pre-release
Pre-release

Small bugfixes and improvements. Changelog:

  • __repr__ has been improved for a lot of classes derived from Object. Objects with names will have their names shown in their __repr__, and some other classes such as Messages will have even more information. (ab3f9f9)
  • GroupChatMember's as_user() method has been made async because it needs to fetch additional information. (11ca311)
  • Fixed File.download_data(), which was broken by 0b5bc03. (0e33571)
  • Add methods GroupChat.join() and GroupChat.leave() for joining and leaving forums and teams. (d14ccca)

This release is on PyPI.

v0.4.0a4

24 Oct 05:30
Compare
Choose a tag to compare
v0.4.0a4 Pre-release
Pre-release

Another more stable alpha release of v0.4.0 with more features.

Changelog since v0.4.0a1:

  • Ryver.get_object() now supports getting a list of objects (e5cdccb).
  • All send_ and connect functions in RyverWS now have an optional timeout parameter that defaults to 5 seconds (2fdebe6).
  • Most classes (Creator, TaskTag, all classes inheriting from Object, all WS message classes) now use __slots__ for memory savings and faster attribute access (4e575ab).
  • Classes inheriting from Object are now all hashable (and hash to their IDs) (4e575ab).
  • Most classes now have a __repr__() implementation (0e9639c).
  • Ryver.get_groupchat() now take additional arguments to specify whether to search teams or forums. Ryver.get_team() and Ryver.get_forum() were introduced (e1903c7).
  • Added proper usage of typing.Optional for type hints.

v0.4.0a1

06 Oct 04:28
Compare
Choose a tag to compare
v0.4.0a1 Pre-release
Pre-release

Alpha release of v0.4.0. Some notable changes include:

  • RyverWS realtime sessions can now auto-reconnect (see RyverWS.set_auto_reconnect() and Ryver.get_live_session()'s new auto_reconnect parameter).
  • New decorator @RyverWS.on_reconnect for defining a callback to be called when auto-reconnect succeeds.
  • All methods that deal with files (e.g. attaching to a message, a topic or a task) can now take File objects and not just Storage objects.

Breaking changes include:

Other changes:

  • setup.py install should work now without having to install the dependencies first, as the version has been moved out of __init__.py and into its own separate file.

v0.3.2.post1

13 Sep 19:56
Compare
Choose a tag to compare

This post-release fixes a few bugs caused by forgetting to await coroutines (in Message.get_author(), ChatMessage.get_author(), and TaskBoard.get_chat()). These errors were present since release v0.3.0. We apologize for the inconvenience.

v0.3.2

08 Sep 04:54
Compare
Choose a tag to compare

This release fixes a critical bug with the realtime websocket API that would rarely cause it to get stuck in an infinite loop while generating a ton of log messages when there is an unexpected connection loss not caught by the ping routine. As a result of this fix, the @RyverWS.on_error decorator's functionality has been removed and is now deprecated.

It is highly recommended to update to this release or a later version to avoid generating over 200MB in log files.

Some additional features include implementing __getitem__() for WSMessageData objects for limited backwards compatibility, and various improvements to documentation.

v0.3.1

25 Jul 03:03
Compare
Choose a tag to compare

In this release, Ryver.get_chat(), Ryver.get_groupchat() and Ryver.get_user() will now do case-insensitive searches if searching by username, email, or group chat nickname, as these values are case-insensitive in the official app. get_obj_by_field() also gained a new parameter that can be used to specify if the search should be case-insensitive.