• v1.1.0 ea2efcf900

    Emily released this 2026-11-04 15:18:23 +01:00 | 14 commits to main since this release

    Competitive leaderboard

    • New public endpoints: GET /api/v1/leaderboards, GET /api/v1/leaderboards/:gameId, and authenticated POST /api/v1/leaderboards/:gameId/scores.
    • Keeps one best score per user, game and mode, ranked by time, moves, then submission time.
    • Validates games, modes, times, moves and detail text; read and write endpoints are rate-limited.
    • Stores scores in PostgreSQL with a SQLite fallback for development. Deleting an account cascades to its scores.
    • New LEADERBOARD_ENABLED setting (default true). When disabled, the app falls back to its local board.
    • /api/v1/meta now reports leaderboardEnabled.

    Easier Git-based upgrades

    • Reorganized docker-compose.yml with a stable project name, image tag 1.1.0, logging limits, health checks and an ACCOUNT_PORT override.
    • Added update.sh for git pull --ff-only, database image pull, rebuild and restart. It refuses to run with local Git changes.
    • .env and docker-compose.override.yml stay ignored so pulls remain clean.
    • README now documents the upgrade flow, backup/restore, leaderboard API examples and privacy notes.

    Upgrade

    git pull --ff-only
    docker compose build --pull accounts
    docker compose up -d --remove-orphans
    

    Or run ./update.sh. The leaderboard_scores table is created automatically; existing accounts are preserved.

    Downloads