Releases: devoxin/Lavalink.py
Releases · devoxin/Lavalink.py
5.9.0
5.8.1
5.8.0
Additions
- Implement TypedDict classes for raw REST responses (e.g.
RawRouteplanner
,RawInfo
etc). - Implement
__str__
for Enum andLoadResultError
classes.
Fixes
- Ignore
CancelledError
in event hook dispatching tasks. - Fixed typing for
Client.remove_event_hooks
. - Fixed return type for
get_routeplanner_status
.
Changes
- Bump required Python version to >=3.8.
- Bump minimum required aiohttp version.
5.7.2
Lavalink.py 5.7.1
Fixes
- Fixed a regression in 5.7.0 where instanting an
AudioTrack
from anotherAudioTrack
may fail whenrequester
cannot be accessed via dot notation asdata
has been reassigned to a dict.
Lavalink.py 5.7.0
Additions
- Allow setting filter values at instantiation.
Fixes
- Copy
requester
field when instantiating anAudioTrack
from anotherAudioTrack
.
Lavalink.py 5.6.0
Additions
- Added base exception that all other errors extend from.
Fixes
- Fixed a possible issue where
BasePlayer._internal_pause
may not have been reset if an exception was thrown before it was set toFalse
.- This affected player state during node changes.
- Fixed an issue where the client would not consistently shift generic requests (i.e.
client.get_tracks
) to other, available nodes if any went down.
Changes
- Type-hinted support for passing an
AudioTrack
to anAudioTrack
constructor, as a form of cloning. - Undeprecated
NodeManager.available_nodes
. - Request errors
aiohttp.ClientError
andasyncio.TimeoutError
are re-thrown as themselves rather than aslavalink.errors.ClientError
for clarity.
Lavalink.py 5.5.0
Additions
- Added missing
filter_band
overload for the karaoke filter. - Added support for setting tags on nodes.
- Added support for creating a player with a filter for selecting nodes.
Fixes
- Fixed an issue where instantiating a
RequestError
throws aKeyError: 'message'
caused by the server not sending expected data.
Changes
- Simplified the
no_replace
check withinDefaultPlayer
. - Updated incorrect docs for
code
andreason
fields withinWebSocketClosedEvent
. - Players are now destroyed unconditionally when requested (i.e. a player no longer has to exist within the cache for the library to destroy it).
- Only log unknown events when there are no listeners for
IncomingWebSocketMessage
.
Lavalink.py 5.4.0
Additions
- Added a
connect
kwarg toadd_node
. - Added
source_encoders
option toencode_track
for specifying per-source data to be encoded into the base64 track string.
Fixes
- Fixed overload ordering for
Node.request
so that thestr
overload is now correctly selected. - Fixed an issue with
last_position
being incorrectly set and used during node failover. - Fixed
AuthenticationError
being caught and rethrown asClientError
during HTTP requests.
Changes
- Added a note about the potential consequences of calling
DefaultPlayer.play
,DefaultPlayer.skip
andBasePlayer.play_track
. - Documentation for the
DataIO
module. - Documentation notes about when to call
play
/play_track
methods from track events.
Lavalink.py 5.3.0
Additions
- [typings] Add player types to
PlayerManager
class. - [docs] Annotate return type of
DeferredAudioTrack.load
method. - [docs] Expose the
DataReader
andDataWriter
classes inDataIO
. - [interface] Add support for per-source base64 track field decoding.
- [interface] Add
DefaultPlayer.remove_filters
method for removing multiple filters at once.
Fixes
- [typings] Fix events type for
@lavalink.listener
decorator. - [internal] Fix LowPass filter trying to convert
'smoothing'
to a float. - [internal] Attach exception information to error log when handling websocket message.
Changes
- [interface] Renamed
AudioTrack.stream
toAudioTrack.is_stream
for naming consistency and clarity.AudioTrack.stream
is still available but marked deprecated.