Skip to content

v0.7.0 - 04adb6b

Choose a tag to compare

@Shvquu Shvquu released this 16 Jun 15:48
· 57 commits to main since this release
6be5664

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.yml to 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-database fields 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 neutral StorageConfig from 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