• v1.5.3 40f0408858

    v1.5.3
    All checks were successful
    CI / build-and-test (push) Successful in 1m56s
    CI / docker-build (push) Successful in 22s
    Stable

    joeyr released this 2026-07-20 07:42:47 -05:00 | 10 commits to main since this release

    Code-review hygiene — no behavior change for valid configurations.

    Fixed

    • In-memory rate-limit entries are now reclaimed. RateLimiter accumulated one userRateLimits entry per distinct non-admin user for the life of the process; its purpose-built cleanup() (drops entries older than 2× the interval) was only ever called from tests. The 5-minute maintenance sweep now runs it alongside the expired-bypass cleanup, so the map stays bounded.
    • Log files are now size-bounded. The winston error.log and combined.log file transports had no rotation and could grow without bound on the logs volume. Each is now capped at 10 MiB with 5 rotations (~50 MiB per transport); production also streams JSON to stdout for Docker to collect.

    Removed

    • Dropped the non-functional LOG_FILE env var. config.logging.file read LOG_FILE and it was echoed in the startup config summary, but the logger hardcodes logs/error.log / logs/combined.log and never consumed it — so the knob did nothing. Removed it from config.ts and the .env.config / .env.development / .env.production templates. No behavior change: file log locations are unchanged.
    Downloads