Skip to content

v3.0.0

Latest

Choose a tag to compare

@codebymitch codebymitch released this 13 Jul 06:38

This release is a major stability and architecture update: a full codebase restructure, Lavalink music playback, stronger dashboard and ticket systems, database key migration, and several command and logging fixes.

What's New

Music Playback

  • Lavalink v4 integration via Riffy for Spotify, YouTube, Deezer, Apple Music, and more
  • New commands:
    • /play
    • /join
    • /queue
    • /nowplaying
    • /music with playback controls (pause, resume, skip, shuffle, loop, volume, seek, 24/7 mode)
  • Interactive music player buttons for queue and playback management
  • Prefix shortcuts for common music actions (join, np, leave, pause, resume, skip, stop, volume, music)
  • Configurable Lavalink nodes via lavalink/nodes.json, LAVALINK_NODES, or single-node environment variables
  • Optional self-hosted Lavalink using Docker Compose (--profile local-lavalink)

Project Restructure

  • Major internal reorganization into feature-based folders
  • Database utilities split into dedicated modules:
  • Logging helpers moved to utils/logging/
  • Ticket utilities moved to utils/ticket/
  • Leveling and moderation services separated into dedicated modules

Stability & Dashboard Improvements

  • Panel health monitoring with automatic startup reconciliation
  • Shared dashboard session helper for improved multi-step interactions
  • Improved ticket dashboard with panel status guards and repost workflow
  • Enhanced verification and reaction-role dashboards
  • Automatic level role synchronization on startup
  • Improved greet dashboard reliability and welcome embed validation

Moderation

  • New /say command for moderators
  • Prefix permission enforcement aligned with configured moderator roles
  • Configuration Wizard modRole now controls moderation command access
  • Improved moderation hierarchy validation
  • Clearer error messages for users

Database & Migration

  • Canonical guild-scoped database key format
  • Automatic startup key migration
  • New migration scripts:
    • npm run migrate:keys
    • npm run migrate:keys:dry
  • PostgreSQL schema versioning
  • Improved database wrapper
  • Better fallback handling between PostgreSQL and in-memory storage

Developer Experience

  • Added CONTRIBUTING.md
  • Updated Docker setup with Lavalink support
  • Improved .env.example
  • Dependency updates and vulnerability fixes

Breaking Changes

  • Search commands consolidated under /search
    • /define/search define
    • /google/search google
    • /urban/search urban
  • Internal service paths changed after the project restructure
  • Legacy flat service files removed or relocated
  • Database keys migrated to the new guild-scoped format

Bug Fixes

  • Fixed stale guildConfig import paths
  • Fixed logEmbeds moderation import path
  • Fixed ticket close permission checks
  • Fixed ticket button handler stability
  • Fixed prefix kick member cache resolution
  • Fixed greet dashboard crashes and counter updates
  • Reduced Lavalink reconnect and error log spam
  • General stability, performance, and dashboard interaction improvements

Full Changelog

v2.1.0...v3.0.0