Releases: deckardsworkspace/blanco-bot
Releases · deckardsworkspace/blanco-bot
Release 0.5.7
New command from Blanco's first external contributor!
# Docker Hub
$ docker pull jareddantis/blanco-bot:0.5.7
# GHCR
$ docker pull ghcr.io/jareddantis-bots/blanco-bot:0.5.7
For users
- New
/bump
command (#56, thanks to @holedaemon for this!)- When enabled, Blanco will insert interstitial tracks called bumps in between queue items
- These tracks are user-specified and can be set to play after a specific amount of time has passed since the last bump
- Disabled by default in every guild
For admins and developers
Breaking changes
None.
Other changes
None.
Release 0.5.6
Bugfix release
# Docker Hub
$ docker pull jareddantis/blanco-bot:0.5.6
# GHCR
$ docker pull ghcr.io/jareddantis-bots/blanco-bot:0.5.6
For users
- Region-locked tracks will no longer cause Blanco to fall into an infinite loop (#53)
For admins and developers
Breaking changes
None.
Other changes
None.
Release 0.5.5
Bugfixes
# Docker Hub
$ docker pull jareddantis/blanco-bot:0.5.5
# GHCR
$ docker pull ghcr.io/jareddantis-bots/blanco-bot:0.5.5
For users
- Fixed playback failures on Google Cloud caused by Spotify API timeouts
- Should result in way less
RemoteDisconnected
errors
- Should result in way less
- Applied Lavalink YT result blacklisting logic to Spotify results
- Should prevent Blanco playing remixes, covers, etc if you didn't specifically ask for that version
For admins and developers
Breaking changes
None.
Other changes
- 404 message not found errors when trying to edit the Now Playing view are now ignored
- Spotify API calls are now logged in debug mode
Release 0.5.4
Happy new year!
# Docker Hub
$ docker pull jareddantis/blanco-bot:0.5.4
# GHCR
$ docker pull ghcr.io/jareddantis-bots/blanco-bot:0.5.4
For users
- Blanco will now tell you when a track fails to load instead of silently skipping to the next one
/stats
is no longer a restricted command (#49)- Fixed a bug where Blanco might fail to look up tracks by ISRCs (#50)
For admins and developers
Breaking changes
None.
Other changes
- Updated dependencies
Release 0.5.3
Workaround for resuming stale paused tracks
# Docker Hub
$ docker pull jareddantis/blanco-bot:0.5.3
# GHCR
$ docker pull ghcr.io/jareddantis-bots/blanco-bot:0.5.3
For users
None.
For admins and developers
Breaking changes
This release includes a workaround for Blanco prematurely ending unpaused tracks.
- When a track is unpaused after having been paused for a few minutes, Blanco receives an early
FINISHED
event from Lavalink after a while and therefore skips to the next track. - Blanco now has the ability to re-enqueue unpaused tracks after a minute of pause, so that Lavalink starts working from a fresh state.
- Although the track is re-enqueued at the same playback position, audible skipping may be heard due to processing and network delays.
Because of the last point above, this workaround is opt-in. To enable, set bot.reenqueue_paused
in config.yml or the env variable BLANCO_REENQUEUE_PAUSED
to true
.
Other changes
Known bugs
None so far, but I'll keep looking.
Release 0.5.2
Bugfixes.
# Docker Hub
$ docker pull jareddantis/blanco-bot:0.5.2
# GHCR
$ docker pull ghcr.io/jareddantis-bots/blanco-bot:0.5.2
For users
- Now Playing views are now sent
@silent
ly
For admins and developers
Breaking changes
- Blanco will now check if the given Redis server is pingable before continuing with boot
- Cached Lavalink tracks are now invalidated in the case of a
PlayerNotConnected
error encountered during playback- This is sometimes caused by player connected states not being updated in time for the play method to work (#45)
Other changes
None.
Known bugs
- #39 (seems to be an upstream Lavalink bug, as Blanco receives a normal
FINISHED
event instead of an error when this occurs
Release 0.5.1
Bugfixes. Full changelog: 0.5.0...0.5.1
# Docker Hub
$ docker pull jareddantis/blanco-bot:0.5.1
# GHCR
$ docker pull ghcr.io/jareddantis-bots/blanco-bot:0.5.1
For users
- Blanco will now update the Now Playing view with the latest info after using the following commands (Implements #43)
/play
/remove
/shuffle
and/unshuffle
/loop
and/unloop
/loopall
and/unloopall
/volume
For admins and developers
Breaking changes
- Fixed a bug where the webserver would get loaded regardless of whether it's enabled or not
server.enabled
andBLANCO_ENABLE_SERVER
now do exactly as named- If a base URL is set while the server is disabled, Blanco will still print it to console (useful for multi-instance deployments)
Other changes
- Added a webserver route for
robots.txt
- Updated Nextcord to 2.6.0
Release 0.5.0-1
Bugfixes
# Docker Hub
$ docker pull jareddantis/blanco-bot:0.5.0-1
# GHCR
$ docker pull ghcr.io/jareddantis-bots/blanco-bot:0.5.0-1
For users
- Fixed a bug where Blanco would pick sped up versions of tracks for playback (#40)
- Fixed a bug where Blanco wouldn't play new tracks after finishing an existing queue (#41)
For admins and developers
Breaking changes
None.
Other changes
None.
Known bugs
Release 0.5.0
Significant update with a new command, better scrobbling, and more under-the-hood integrations
# Docker Hub
$ docker pull jareddantis/blanco-bot:0.5.0
# GHCR
$ docker pull ghcr.io/jareddantis-bots/blanco-bot:0.5.0
For users
- New command
/search
- Search Spotify's catalog for stuff to play
- Spotify dropdowns (
/playlists
,/search
) now show rich information- Info includes artists, release dates, and album names
- Card view changes
Added to queue
andDisconnected from voice
views now show the running Blanco release for easier debugging and bug reporting- Now Playing view now shows the correct track index when shuffling, along with new volume, shuffle, and repeat indicators
- Now Playing view now shows the complete list of artists for a Spotify track
- Better, more accurate scrobbling
- Tracks are now checked against MusicBrainz's database if possible before scrobbling
- Matching tracks will now be scrobbled using their MusicBrainz IDs for better Last.fm match accuracy
For admins and developers
Breaking changes
- Ahead-of-time track matching
- When a track starts playing, Blanco now attempts to find a playable Lavalink track for the next track in queue
- This is done in a background
asyncio.Task
for minimal performance impact - Configurable using
BLANCO_MATCH_AHEAD
(orbot.match_ahead
)
- Cache support using Redis
- Blanco can now cache Lavalink tracks, Spotify tracks, ISRCs, and MusicBrainz IDs to lessen API requests
- Configurable using new Redis connection details in the configuration (see wiki)
- New Sentry integration
- Blanco can now forward errors and critical errors to Sentry
- Configurable using new Sentry DSN details in the configuration (see wiki)
- Database schema changes
- Added
loop_all
column toplayer_settings
to persist whole-queue looping for guilds
- Added
Other changes
- Bugfixes
- Fixed a bug where Blanco would fail to connect to a Lavalink node it doesn't have an existing session ID for
- Fixed a bug where the previously set volume wouldn't persist across play sessions
- Code cleanup
- Linting passes
- Moved fuzzy string matchers to
utils/fuzzy.py
PlayerCog:jockey_helpers.py
: Removed unused importutils/blanco.py
: Removed unused ThreadPoolExecutorutils/config.py
: Removed unused convenience get_debug_* functions
- Dedicated queueing module
- The queueing logic in the
Jockey
class has now been mostly moved into a newQueueManager
class - There should be no changes in functionality, but I'll issue a hotfix in case of a bug
- The queueing logic in the
Release 0.4.7
Bugfixes and code cleanup
# Docker Hub
$ docker pull jareddantis/blanco-bot:0.4.7
# GHCR
$ docker pull ghcr.io/jareddantis-bots/blanco-bot:0.4.7
For users
- Blanco will try to fall back to Deezer first before YouTube when ISRC matching fails, if the Lavalink server supports it
- This should address some instances where Blanco chooses a suboptimal match just because the ISRC isn't matched, like some tracks from Genshin Impact's OST
- The enhanced track-query matching logic now also applies to metadata fallbacks for tracks with non-matching ISRCs, not just direct
/play
invocations- This should address some instances where tracks from enqueued Spotify playlists are matched against the wrong YouTube versions
- Fixed a bug where long queue item names exceed 50 characters
- Fixed a bug where Blanco would scrobble tracks that weren't playing for long enough
For admins and developers
Breaking changes
- Changes to the track-query matching weights
- The naïve weight (i.e.,
difflib.get_close_matches
) now uses a threshold of 90% (from 80%) - Blanco now turns Spotify ranks into exponential weights with a factor of 0.8
- Instead of
[100, 90, 80, ...]
Blanco now uses[100, 80, 64, ...]
- This gives better priority to Spotify's search ranking and lessens the number of ties in confidence values
- Instead of
- The naïve weight (i.e.,
- The
staging
image is now built on pushes to thenext
branch, not pull requests- Images are still published for pull requests under the tag format
pr-N
- The
next
branch will now be restricted to collaborators
- Images are still published for pull requests under the tag format
Other changes
- Linting is now performed automatically on pull requests
- Some pylint checks are disabled (too-few/too-many)
- Blanco's release version is now inserted on build and displayed in the logs