Release v3.0.2
·
15 commits
to master
since this release
Immutable
release. Only release title and notes can be modified.
- 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/oraspinners, and dotenv's own startup banner is suppressed. Every line is now consistently formatted and parseable underLOG_FORMAT. - Add graceful shutdown: on
SIGINT/SIGTERMthe 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/TursoDATABASE_URLis 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-wrappersstub, and stale type packages (@types/bluebird,@types/ms,@types/validator,@types/node-emoji).