Skip to content

Releases: devoxin/Lavalink.py

Lavalink.py 4.0.6

17 Feb 22:28
Compare
Choose a tag to compare

Fixes

  • Fixed DefaultPlayer.play not throwing if the provided track does not have a track str, and it is not an instance of DeferredAudioTrack.

Additions

  • Add return type to utfm_codec.read_utfm.
  • Add return type to utils.encode_track.
  • Improved typedefs of Stats object.
  • Improved typedefs of Penalty object.
  • Improved typedefs of Node.
  • Improved typedefs of NodeManager.
  • Improved typedefs of PlayerManager.
  • Improved typedefs of QueueEndEvent.
  • Improved typedefs of PlayerUpdateEvent.
  • Improved typedefs of WebSocketClosedEvent.
  • Improved typedefs of track events.
  • Improved typedefs of node events.

Lavalink.py 4.0.5

10 Feb 19:28
Compare
Choose a tag to compare
  • Added ping field to PlayerUpdateEvent after it somehow got removed.
  • Added Node type def to BasePlayer.node, BasePlayer.change_node, and DefaultPlayer.__init__.
  • Changed Equalizer.update to also accept float for the gain value.

Lavalink.py 4.0.4

02 Nov 13:55
cc8df70
Compare
Choose a tag to compare

Fixes

  • Use asyncio.gather over asyncio.wait

Additions

  • Add rudimentary track encoding support

Changes

  • Don't default to -1 if frame stats missing.

Lavalink.py 4.0.3

23 Sep 00:24
Compare
Choose a tag to compare

Fixes

  • Fix DefaultPlayer._last_update being incorrectly reset in play() leading to brief periods where position would read incorrectly between tracks.

Lavalink.py 4.0.2

29 Aug 17:45
6b2b87e
Compare
Choose a tag to compare
  • Fix **extra not being used when AudioTrack is passed an instance of itself.

Lavalink.py 4.0.1

21 Aug 12:46
Compare
Choose a tag to compare

Additions

  • NodeManager.get_nodes_by_region

Changes

  • NodeManager.DEFAULT_REGIONS
    • These now correlate with Discord's RTC regions.

Lavalink.py 4.0.0

18 Aug 10:50
68ac818
Compare
Choose a tag to compare

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.

Lavalink.py 2.1.10

02 Oct 19:38
Compare
Choose a tag to compare

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

Lavalink.py 2.1.9

18 Jul 19:32
Compare
Choose a tag to compare
  • Add connected property to WebSocket
  • Encode query in get_tracks to resolve issues with playlist/mix loading
  • Remove async keyword from cleanup function

Lavalink.py 2.1.8

16 Jul 14:33
Compare
Choose a tag to compare
  • Cleanup doesn't need to be an abstract method