Releases: deckardsworkspace/blanco-bot
Releases · deckardsworkspace/blanco-bot
Release list
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.7For users
- New
/bumpcommand (#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.6For 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.5For users
- Fixed playback failures on Google Cloud caused by Spotify API timeouts
- Should result in way less
RemoteDisconnectederrors
- 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.4For users
- Blanco will now tell you when a track fails to load instead of silently skipping to the next one
/statsis 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.3For 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
FINISHEDevent 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.2For users
- Now Playing views are now sent
@silently
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
PlayerNotConnectederror 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
FINISHEDevent 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.1For users
- Blanco will now update the Now Playing view with the latest info after using the following commands (Implements #43)
/play/remove/shuffleand/unshuffle/loopand/unloop/loopalland/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.enabledandBLANCO_ENABLE_SERVERnow 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-1For 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.0For 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 queueandDisconnected from voiceviews 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.Taskfor 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_allcolumn toplayer_settingsto 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
Jockeyclass has now been mostly moved into a newQueueManagerclass - 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.7For 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
/playinvocations- 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
stagingimage is now built on pushes to thenextbranch, not pull requests- Images are still published for pull requests under the tag format
pr-N - The
nextbranch 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