Changelog
Contents
Changelog#
This page outlines the changes in different versions of the project. Some verions may be breaking changes, which requires you to update your code as soon as possible.
v2.0.1b#
General Bugfixes
Minor general improvements
Documentation updates
v2.0.0b#
Important
This version causes breaking changes.
- Renamed all public methods to match the API’s naming.
UnbeliClient.get_leaderboard
has been renamed toUnbeliClient.get_guild_leaderboard()
.UnbeliClient.get_balance
has been renamed toUnbeliClient.get_user_balance()
.UnbeliClient.edit_balance
has been renamed toUnbeliClient.edit_user_balance()
.UnbeliClient.set_balance
has been renamed toUnbeliClient.set_user_balance()
.
Allow users to input an open
session
keyword-argument inUnbeliClient
.Added
UnbeliClient.close()
to allow users to close the current session when done using.- Rename the names of some exceptions.
ResponseError
has been renamed toHTTPException
.UnknownError
has been renamed toUnknownException
Removed
roles
andchannels
as a public attribute fromGuild
.Fully setup documentation using Sphinx and readthedocs.io.
v1.2.0b#
Bucket routes edited. Mainly user balance GET/PATCH/PUT and leaderboard.
Fixed bug in
UnbeliClient.retry_rate_limits
.
v1.1.1b#
Moved the rate limit throttler for buckets from the exit component of the context manager to enter, after acquiring the lock.
v1.1.0b#
- Rewritten rate limit handlers.
Client.rate_limits
now holds abuckets
attribute, which is a dictionary containing the name of the bucket as key and its handler as the value. Bucket handlers are classes that hold specific bucket rate limit information updated with each request, and a context manager that throttles requests to prevent
429
s if that’s enabled.True
concurrency is only possible at the moment with different buckets.
- Rewritten rate limit handlers.
- Dataclasses now contain an attribute “bucket” with the name of the bucket that produced the dataclass.
This is useful to get the bucket handler from
UnbeliClient.rate_limits.buckets
.
Next patch is expected to finally resolve rate_limit functionality.
v1.0.4b#
Fixed bug with
ClientRateLimits.currently_limited()
from GH-6.
v1.0.1b#
Documentation improvements.
Versioning reformatting to follow semantic conventions.
Added Balance string representation information.
v0.0.1b#
Finally in beta from alpha.
Improved README.md
Adjusted rate limit prevention parameters.
Added MIT License.
v0.0.9a#
Specific route rate limits now managed by semaphore set up after first request.
v0.0.8a#
Renamed
Client.rate_limit_data
toClient.rate_limits
- Correctly handles global limit by waiting until cleared. Tested on concurrent spammed tasks. For this it uses aiolimiter <https://github.com/mjpieters/aiolimiter>.
Client.rate_limits.global_limiter is an async context manager to throttle requests to the API if
Client.prevent_rate_limits
isTrue
.
Specific route rate limits are also now handled by waiting for response headers and adjusting speed to prevent 429s
For now aiolimiter <https://github.com/mjpieters/aiolimiter> is a requiered dependency might change in the future
v0.0.7a#
All client api interaction methods are now executed with Client._request which handles rate limits
Rate limits are now prevented only in non concurrent (massive calls with asyncio.gather will still fail).
Added client parameters to decrease possibility of hitting 429s and retrying if it happens.
v0.0.6a#
- Modified
UnbeliClient.rate_limit_data
. It now holds a class which attributes hold rate limit data in a per-bucket basis.
- Modified
Added this changelog