Skip to content

Release 0.5.0

Compare
Choose a tag to compare
@github-actions github-actions released this 20 Sep 16:29
4308f1a

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 and Disconnected 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 (or bot.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 to player_settings to persist whole-queue looping for guilds

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 import
    • utils/blanco.py: Removed unused ThreadPoolExecutor
    • utils/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 new QueueManager class
    • There should be no changes in functionality, but I'll issue a hotfix in case of a bug