Lavalink

Latest version: v5.4.0

Safety actively analyzes 630094 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 6

4.0.0

Non-exhaustive list of changes:

Additions
- Lavalink `filters` support.
- Support Java's modified utf by including a dedicated `utfm` codec.
- This should provide fewer erroneous decodes, as well as displaying previously-unsupported characters.
- Support Lavalink's new exception format (105, contributors: apex2504).
- `Utils.timestamp_to_mills` helper function.
- `PlayerUpdateEvent.connected`.
- Custom source support + DeferredAudioTrack.
- `player.destroy`.
- Support for `volume` and `pause` kwargs in `play()`.
- `lavalink.listener` decorator.
- ssl support for nodes (wss/https).
- `/plugins` route support (124, contributors: apex2504).
- `node_unavailable()` method added to `BasePlayer`.
- Docstrings.


Changes
- `user_id` now accepts `int` or `str`.
- HTTP-based functions now raise appropriate errors rather than returning false/misleading values.
- Renamed `lavalink.exceptions` to `lavalink.errors` to be more inline with `Error` naming.
- Websocket closures now have a default error messages.
- Websocket closures now better attempts to extract the close code.
- `ConnectionResetError` should be better handled.
- Updated a few logging messages to better show which module emitted the log.
- `position` and `encoder_version` properties are now exposed in decoded AudioTracks.
- Documented `player.channel_id`.
- `player.guild_id` is now an `int`.
- `TrackEndEvent.track` is now marked `Optional` to cover any potential scenarios where track decoding fails.
- Marked `set_gain`, `set_gains`, and `reset_equalizer` as deprecated.
- Their equivalents are listed in the docs, so endeavour to change this as they will probably be removed on the next minor/major version.
- `player.add` parameter has been re-ordered to be more logical.
- The behaviour of the `requester` param in `player.add` has been altered so that non-zero values now overwrite the track's requester.
- `get_tracks` now returns a `LoadResult` class rather than the raw JSON (dict).
- Best effort was made to ensure this was backwards compatible, however it's marked as breaking as it's a large change, so you should verify you're unaffected.
- `AudioTrack` supports construction from another `AudioTrack` instance.
- Docstrings.

Fixes
- Lavalink.py client will no longer dispatch to empty hooks.
- Altered how Lavalink's `TrackStartEvent` is processed internally to avoid emitting `NoneType` events.
- Docstrings.

Notes
- Any non-essential functions (basically `routeplanner_*` functions in Client) have been moved to Node. They didn't make sense as they required a Node instance, so it seemed more logical to incorporate them directly into the Node instance itself.
- Refactored logging formats.

2.1.10

**Changes in this version**
- Stats events are now handled within Lavalink.py
- A stats event is now dispatched when received from the server
- Lavalink.py now detects server version and adjusts some stuff internally to match
- `DefaultPlayer`'s `play` function now accepts some additional parameters
- `ignore_shuffle`, `index`
- `DefaultPlayer` has some additional helper functions regarding playing and queueing
- `play_at`, `play_now`, `play_previous`, `add_at`, `add_next`
- Track hooks can now be a normal function
- Numerous code improvements + docstrings which your editor might thank you for

2.1.9

- Add `connected` property to WebSocket
- Encode query in `get_tracks` to resolve issues with playlist/mix loading
- Remove `async` keyword from cleanup function

2.1.8

- Cleanup doesn't need to be an abstract method

2.1.7

- Exceptions caused by track hooks are now caught and logged rather than stopping the event dispatching completely
- Players can now be removed from cache by calling PlayerManagerremove. Method takes a single parameter consisting of a guild_id
- BasePlayer now has a `cleanup` method that can be used to clean up any leftover objects on custom player implementations. The method is only called when a player is removed from cache
- Retrieving `position` from lavalink `playerUpdate` JSON should no longer throw under some circumstances
- `_attempt_reconnect` method should now be compatible with AutoShardedClient

2.1.6

- Experimental fix regarding WS not sending after a while
- Stringify User Id when attempting to connect

Page 3 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.