Skip to content

Releases: PythonistaGuild/Wavelink

V3.4.1

13 Jul 01:58
7a67075
Compare
Choose a tag to compare

Version 3.4.1

Documentation:
https://wavelink.dev

Support:
Discord Server

Fixes

  • A small error in the players inactivity checks task.

v3.4.0

19 Jun 13:45
52b863c
Compare
Choose a tag to compare

Version 3.4.0

Documentation:
https://wavelink.dev

Support:
Discord Server

Additions

Player.inactive_channel_tokens

  • This addition dispatches the currently available on_wavelink_inactive_player event when the Player has been inactive for x amount of played tracks. E.g. after 3 tracks if no real members (Members that aren't bots) have been in the channel, this event will fire.

PluginFilters

  • Added the PluginFilters filter class. This addition allows the setting of filters on Lavalink Plugins that support it.

Changes

Playable.search & wavelink.Pool.fetch_tracks

  • Added the optional node keyword-only argument; Allows passing a Node which will be used to search tracks. Defaults to None which uses the wavelink.Pool identical to previous versions.

Changelog

Full Changelog: v3.3.0...v3.4.0

v3.3.0

24 Apr 02:45
ffcf13a
Compare
Choose a tag to compare

Version 3.3.0

This release adds the populate keyword back to Player.play and has multiple small bug fixes.

Documentation:
https://wavelink.dev

Support:
Discord Server

Caution

You can no longer use a BETA version of Lavalink from version 3.1.0. Please upgrade your Lavalink to a stable version 4+.

Additions

Player.play:

  • populate and max_populate
    Adds the populate and max_populate keyword-only arguments, which allows the auto queue to fetch and fill with recommended tracks based on the played track.

Node.close:

  • eject
    Adds the eject keyword argument, which when set to True will remove the Node from the Pool.

Fixes

  • Bug in Queue not repeating a song when set to loop.
  • Bug in Node.close which wouldn't disconnect currently playing players correctly.
  • Bug in filters where some arguments were named incorrectly.
  • Bug in Queue where using put_wait while a get_wait was waiting for a track would result in all get_wait hanging.
  • Playlist.extras property now correctly sets the provided extras on each individual track.

QoL

  • Added typing_extensions to requirements.

Thanks

@jackra1n
@TrapDrap
@DanLCD

v3.2.0

04 Feb 10:26
85c1aaf
Compare
Choose a tag to compare

Version 3.2.0

This release adds two main additional features:

Documentation:
https://wavelink.dev

Support:
Discord Server

Caution

You can no longer use a BETA version of Lavalink from version 3.1.0. Please upgrade your Lavalink to a stable version 4+.

Additions

Events:

  • on_wavelink_inactive_player()
    Called when the Players inactive_timeout expires. Useful for disconnecting the bot after a timeframe of no activity.

Utils:

  • Playlist.extras
    Similar to Playable.extras, but this applies Playable.extras to each track in the playlist and on the Playlist itself.
  • Playable.raw_data
    The raw payload received from lavalink. You can use this payload to re-build a track later.

Changes

The queue has been redesigned to be more friendly for wavelink use. Internally the queue now uses a list instead of a deque. QoL methods and properties have been added to make it easier to manage and use the queue. Please see the documentation for more information and special ways of using the queue. The queue is backwards compatible minus Queue.delete which is now not asynchronous.

QoL

  • Updated the yarl dependency for better support on Python 3.12+

v3.1.0

10 Dec 17:31
5f926ea
Compare
Choose a tag to compare

Version 3.1.0

This release adds some QoL features that have been frequently requested, and adds support for plugin events.

Documentation:
https://wavelink.dev

Support:
Discord Server

Caution

You can no longer use a BETA version of Lavalink on this release. Please upgrade your Lavalink to a stable version 4+.

Additions

Playable:

Node:

Important

Node.fetch_player_info and Node.fetch_players are not the same as Node.get_player. Please read the documentation before using these endpoints for more details.

Payloads:

Events:

  • on_wavelink_extra_event
    An event fired when an event that is unknown/unhandled by default is received, usually from Lavalink Plugins.

Warning

Make sure you know the source of your event when using on_wavelink_extra_event. Lavalink does not provide this information by default.

Utils:

  • ExtrasNamespace
    ExtrasNamespace is a container class that holds all the information sent to Lavalink via the userData field which can be set by passing a dict of str keys to Any value (Must be convertible to JSON) to Playable.extras. Please see documentation for more details.

Changes

Internally Wavelink now sends a different payload to Lavalink when playing a track or skipping. This is inline with Lavalink changes. Please upgrade your Lavalink to a stable version 4+ if you are currently on a beta version.

v3.0.0

27 Nov 21:43
0af9204
Compare
Choose a tag to compare

Version 3 🎉

This is the initial release for version 3!

Changes are too big to go over here so please see:
https://wavelink.dev/en/latest/migrating.html

Documentation:
https://wavelink.dev

Examples:
https://github.com/PythonistaGuild/Wavelink/tree/main/examples

Help and Support:
https://discord.gg/RAKc3HF

Issues:
https://github.com/PythonistaGuild/Wavelink/issues

Installing:
https://github.com/PythonistaGuild/Wavelink#installation

Spotify Support is via LavaSrc:
https://github.com/topi314/LavaSrc

Key Notes:

  • Pyright Strict
  • Lavalink v4+
  • Discord.py 2.0.1+
  • Python 3.10+

Thank you to everyone who helped out during the development and beta phases <3
Special Thanks to:
@chillymosh
@AbstractUmbra
@Sachaa-Thanasius

v2.6.5

27 Nov 21:21
d1086ae
Compare
Choose a tag to compare

Final release for the version 2 lifecycle!

Please consider moving on to version 3👋

Additions:

  • Check to the queue to allow adding SoundCloudPlaylist directly.

v3.0.0rc1

08 Nov 17:02
Compare
Choose a tag to compare
v3.0.0rc1 Pre-release
Pre-release

Version 3 Release Candidate: 1.

This is the first release candidate for Wavelink 3.

Please see:
Docs
Migrating

You can install this release via:
pip install -U wavelink --pre

v2.6.3

11 Aug 17:43
Compare
Choose a tag to compare

Version: 2.6.3

Minor fix for auto_queue where it was raising NotImplementedError on an equality check.

v2.6.2

04 Aug 06:42
Compare
Choose a tag to compare

Version v.2.6.2

This version fixes the issue with auto_play queue raising errors when mixing YouTubeTracks and SpotifyTracks.

  • __hash__ has been added to SpotifyTrack
  • raise NotImplementedError in __eq__ for Playable and SpotifyTrack