v0.7.0 - 04adb6b
ServerDoctor v0.7.0
Pluggable storage — pick where ServerDoctor keeps its history.
✨ Added
- New storage backends: PostgreSQL, MariaDB and MongoDB, joining the existing SQLite
and In-Memory options. Choose any of them at runtime. config.ymlto select the backend and enter credentials. It's created automatically on
first start and never overwrites an existing file.- Connection pooling (HikariCP) for the SQL backends; PostgreSQL and MariaDB share one
provider via a small SQL-dialect abstraction. - MongoDB via discrete
host/port/username/password/auth-databasefields or a full
connection string (Atlas SRV URIs supported). - Velocity reads the same
config.yml(parsed with SnakeYAML).
🔧 Changed
- Storage is fully integrated into both the Paper/Folia and Velocity adapters. The persistence
layer stays platform-free; the adapters build a neutralStorageConfigfrom your config.
🐛 Fixed
- Graceful fallback: an unreachable backend falls back to SQLite, then In-Memory, instead of
blocking the server from starting. - MariaDB index compatibility (indexed timestamps stored as
VARCHAR(64)). - Connection pools close cleanly on shutdown.
- Various stability and performance improvements.
📦 Setup
Set storage.type in config.yml to memory, sqlite, postgresql, mariadb or mongodb
and fill in the credentials for server-based backends. On a network, point the proxy and all
backend servers at the same database for a shared, network-wide history.
Full changelog: https://github.com/Shvquu/server-doctor/blob/main/CHANGELOG.md