Releases: tylertian123/pyryver
v0.4.0.post1
This post-release fixes a minor typo in Object.get_app_link()
(#10), in addition to some minor documentation formatting issues.
v0.4.0
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 causeRyverWS.run_forever()
to return. Instead,RyverWS.terminate()
was introduced to makerun_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 insend_message()
). (0b5bc03) GroupChatMember
'sas_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 (seeRyverWS.set_auto_reconnect()
andRyver.get_live_session()
's newauto_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 justStorage
objects. (4739637) Ryver.get_object()
now supports getting a list of objects. (e5cdccb)- All
send_
and connect functions inRyverWS
now have an optional timeout parameter that defaults to 5 seconds. (2fdebe6) - Most classes (
Creator
,TaskTag
, all classes inheriting fromObject
, 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 asMessage
s 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()
andRyver.get_forum()
were introduced (e1903c7).- Add methods
GroupChat.join()
andGroupChat.leave()
for joining and leaving forums and teams. (d14ccca)
v0.4.0b2
Minor bugfix release.
Changes:
- Fix bug in connection loss error handling for
RyverWS
. In previous releases, sometimes during the connection loss error handlers, anasyncio.InvalidStateError
may be thrown, caused by callingFuture.set_exception()
on a future that's already done. This release fixes this bug.
v0.4.0b1
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 causeRyverWS.run_forever()
to return. Instead,RyverWS.terminate()
was introduced to makerun_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 insend_message()
). (0b5bc03) GroupChatMember
'sas_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 (seeRyverWS.set_auto_reconnect()
andRyver.get_live_session()
's newauto_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 justStorage
objects. (4739637) Ryver.get_object()
now supports getting a list of objects. (e5cdccb)- All
send_
and connect functions inRyverWS
now have an optional timeout parameter that defaults to 5 seconds. (2fdebe6) - Most classes (
Creator
,TaskTag
, all classes inheriting fromObject
, 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 asMessage
s 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()
andRyver.get_forum()
were introduced (e1903c7).- Add methods
GroupChat.join()
andGroupChat.leave()
for joining and leaving forums and teams. (d14ccca)
v0.4.0a5
Small bugfixes and improvements. Changelog:
__repr__
has been improved for a lot of classes derived fromObject
. Objects with names will have their names shown in their__repr__
, and some other classes such asMessage
s will have even more information. (ab3f9f9)GroupChatMember
'sas_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()
andGroupChat.leave()
for joining and leaving forums and teams. (d14ccca)
This release is on PyPI.
v0.4.0a4
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 inRyverWS
now have an optional timeout parameter that defaults to 5 seconds (2fdebe6). - Most classes (
Creator
,TaskTag
, all classes inheriting fromObject
, 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()
andRyver.get_forum()
were introduced (e1903c7).- Added proper usage of
typing.Optional
for type hints.
v0.4.0a1
Alpha release of v0.4.0. Some notable changes include:
RyverWS
realtime sessions can now auto-reconnect (seeRyverWS.set_auto_reconnect()
andRyver.get_live_session()
's newauto_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 justStorage
objects.
Breaking changes include:
- To allow for re-connecting,
RyverWS.close()
will no longer causeRyverWS.run_forever()
to return. Instead,RyverWS.terminate()
was introduced to makerun_forever()
return. - Previously deprecated
@RyverWS.on_error
decorator was removed.
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
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
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
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.