Skip to content

Release v3.0.2

Choose a tag to compare

@github-actions github-actions released this 14 Jun 18:20
· 15 commits to master since this release
Immutable release. Only release title and notes can be modified.
87a60a7
  • Route all startup and runtime output through the logger: the banner, database-migration progress, the Discord connection/ready messages, and per-command activity now go through pino instead of console.log/ora spinners, and dotenv's own startup banner is suppressed. Every line is now consistently formatted and parseable under LOG_FORMAT.
  • Add graceful shutdown: on SIGINT/SIGTERM the bot logs the signal, leaves any active voice channels, closes the Discord connection, and exits cleanly.
  • Shrink the runtime Docker image by installing production-only dependencies, so dev tooling (TypeScript, Biome, release tooling, type packages) is no longer shipped in the published image.
  • Migrate the data layer from Prisma to Drizzle ORM on Bun's built-in bun:sqlite, dropping the Prisma query engine, the Prisma CLI, and the libSQL client. This removes roughly 270 MB from the image and runs migrations in-process at startup instead of shelling out. Existing databases are adopted automatically with no data loss, and stored dates remain byte-compatible. Note: a remote libSQL/Turso DATABASE_URL is no longer supported (the database is a local SQLite file); a pre-Prisma (Sequelize) database must first be upgraded with a 3.0.1-or-earlier release.
  • Remove unused dependencies (@distube/ytdl-core, @distube/ytsr, ytsr, delay, node-emoji, p-event, p-limit, sync-fetch) left over from earlier YouTube and utility code, the deprecated @types/libsodium-wrappers stub, and stale type packages (@types/bluebird, @types/ms, @types/validator, @types/node-emoji).