Skip to content

Releases: deckardsworkspace/blanco-bot

Release 0.3.1

23 Aug 14:29
fa8deef
Compare
Choose a tag to compare

Quick bugfix release

# Docker Hub
$ docker pull jareddantis/blanco-bot:0.3.1

# GHCR
$ docker pull ghcr.io/jareddantis-bots/blanco-bot:0.3.1

For users

None.

For admins and developers

Breaking changes

  • The v prefix has been removed from all tags in this repository to adhere to semver guidelines

Other changes

  • Blanco now uses sync_application_commands() instead of sync_all_application_commands() for registering slash commands
    • We don't currently have guild-specific commands that necessitate the latter.
    • Bot start should be a bit faster as a result.

Known bugs

  • None yet, but I'll keep looking!

Release 0.3.0

23 Aug 14:19
2b4eb27
Compare
Choose a tag to compare

Bugfixes, some changes behind the scenes, and a new command /announce.

# Docker Hub
$ docker pull jareddantis/blanco-bot:0.3.0

# GHCR
$ docker pull ghcr.io/jareddantis-bots/blanco-bot:0.3.0

For users

  • Fixed a bug where Blanco might not send a Now Playing card on track starts
  • Removed the hardcoded 120-second inactivity timeout
    • Blanco will now remain in your voice channel until you issue /stop

For admins and developers

Breaking changes

  • Added a new column to the database player_settings table for storing status channel IDs
    • Handled by a new migration, so no direct action should be necessary
    • The status channel is where the Now Playing card is sent
    • Used for /announce (below)
  • Blanco is now configurable through environment variables, see the README for info
    • Environment variables override configs in config.yml if present

Other changes

  • Updated aiohttp, certifi, PyYAML, Requests, and spotipy
  • PR image builds are now pushed to GHCR as well (tags pr-N, staging)
  • Added a new command /announce
    • Posts an announcement to all guilds which Blanco is a member of
    • Tries to send the announcement to a guild's system channel first, then the stored status channel if a system channel is not configured
  • /reload now resyncs all slash commands too
  • Fixed duplicate logs printed to console
  • More debug logs (only when debug mode is enabled)
    • IMPORTANT: Blanco will print the config on start including tokens and secrets, so make sure your logs are private and avoid using debug mode unless you really need it

Known bugs

  • None yet, but I'll keep looking!

Release 0.2.4

23 Aug 14:20
3a02363
Compare
Choose a tag to compare

Bugfix release

# Docker Hub
$ docker pull jareddantis/blanco-bot:0.2.4

# GHCR
$ docker pull ghcr.io/jareddantis-bots/blanco-bot:0.2.4

For users

  • Fixed Now Playing embeds not being sent

For admins and developers

No changes.

Known bugs

  • Jockey initialization log messages sometimes print repeatedly to the console.
    • I'm not able to reproduce this locally, but I see it happening in my Docker container for Blanco. Will continue to investigate.

Release 0.2.3

23 Aug 14:20
033da70
Compare
Choose a tag to compare

Bugfix release

# Docker Hub
$ docker pull jareddantis/blanco-bot:0.2.3

# GHCR
$ docker pull ghcr.io/jareddantis-bots/blanco-bot:0.2.3

For users

  • /stats now shows correct uptime
    • This command currently only works if you own the bot instance.
    • This might be changed in the future to allow any server admin to use it.
  • "loop" is now a blacklisted keyword when matching Spotify tracks against YouTube results
    • This should prevent n-hour loops of songs from being played.
    • Tracks that have "loop" in the title are not affected.

For admins and developers

Breaking changes

  • Migrations are now run alphabetically, as they should've been from the beginning. My apologies.

Other changes

  • Blanco will now warn when debug mode is enabled
  • Added a check that prevents Now Playing cards from being sent by an idle player
    • This fixes EndOfQueueError on track_start events

Known bugs

  • Jockey initialization log messages sometimes print repeatedly to the console.
    • I'm not able to reproduce this locally, but I see it happening in my Docker container for Blanco. Will continue to investigate.

Release 0.2.2

23 Aug 14:19
cee5d29
Compare
Choose a tag to compare

First GitHub tagged release!

# Docker Hub
$ docker pull jareddantis/blanco-bot:0.2.2

# GHCR
$ docker pull ghcr.io/jareddantis-bots/blanco-bot:0.2.2

For users

  • Added support for YouTube Music URLs
  • Artwork for non-Spotify sources will now be shown in the Now Playing card
  • Blanco will now attempt to match your search against Spotify's catalog
    • If a close enough match is not found, search queries will be forwarded to YouTube like before.
  • Added a /stats command for viewing Lavalink node statistics
    • This command currently only works if you own the bot instance.
    • This might be changed in the future to allow any server admin to use it.

For admins and developers

Breaking changes

  • Switched from Lavalink.py to Mafic for Lavalink v4 support

    • Parts of Blanco were rewritten to accommodate Mafic, with Lavalink v4 in mind.
    • Lavalink v3 will be unsupported once v4 is out of beta.
    • Blanco now expects a list of regions for every node in config.yml.
    Example config
    lavalink:
      - id: my-beautiful-node
        server: 127.0.0.1
        port: 2333
        password: 'anything as a password'
        ssl: false
    
        # Previously:
        # region: us-central
        regions:
          - hongkong
          - singapore
          - sydney

Other changes

  • Blanco's Docker image is now also available from ghcr.io
  • Blanco's Docker image is now also being built for ARMv7 targets
  • Blanco's console logs are now better formatted (with color!), thanks to the logging module
  • Updated base image to Python 3.11
    • Python 3.10 should still work for non-Docker deployments, but is now unsupported going forward.

Known bugs

  • /stats command
    • The uptime counter is currently broken. A node might be shown as having been up for three years when it's barely been two days.
    • Currently unclear if this is an issue with Mafic, the Lavalink v4 beta, or how uptimes work inside Docker containers.
    • Will probably be fixed in a future release, but it's not really breaking any important functionality...
  • Track matching
    • Due to Blanco's track matching logic, it is possible that an hour(s)-long loop on YouTube might be chosen as a playback candidate for a Spotify track without a matching ISRC.
    • This will be fixed in a future release.