• v5.3.1 5c5cea9e49

    v5.3.1
    All checks were successful
    CI / build-and-test (push) Successful in 2m59s
    CI / docker-build (push) Successful in 51s
    Stable

    joeyr released this 2026-10-09 23:50:26 -05:00 | 7 commits to main since this release

    Rate-limit bypasses last as long as they say, OCE and SEA players work with
    the LoL monitor, and LOG_LEVEL can no longer switch the logs off.

    Fixed

    • A temporary rate-limit bypass expired as soon as it was granted. Its
      end time was stored as a TIMESTAMP, which keeps the bot's local time
      (America/Chicago) and drops the zone, then compared against NOW() in the
      database's UTC session. It read as five or six hours earlier than it was,
      so any bypass shorter than that was over before it started, and the
      longest ran 5–6 hours short. Migration 018 (applied at boot) turns every
      TIMESTAMP column into TIMESTAMPTZ, which stores the instant.
    • Channel history around the November clock change. Local time runs
      1 AM twice that night, and the same zoneless columns sorted messages from
      the second 1 AM before those from the first, so a follow-up asked in that
      hour missed what was said since the question before it. Fixed by the same
      migration.
    • OCE game results and recent form. Riot serves OCE match data from
      sea, but the bot asked americas, which answers 404, so every OCE game
      ended "results unavailable" after half an hour of retries.
    • Players on PH, SG, TH, TW and VN couldn't be registered. Their account
      lookups went to sea, which the account API doesn't serve. They now go to
      asia; any of the three account clusters returns any account.
    • LOG_LEVEL=INFO, warning, or any name winston doesn't know silenced
      every log line, errors included.
      winston drops every record at a level it
      doesn't know. Case is now ignored, warning reads as warn, and anything
      else logs at info, with a startup warning naming the value.
    • A LOG_LEVEL set in .env or .env.config never reached the logger
      under npm run dev or npm start: the logger read it before those files
      were loaded, while config/runtime reported the file's value. Docker, where
      the variables arrive in the environment, was unaffected.

    Deployment

    Migration 018 runs at boot and rewrites the messages table once. It reads
    the columns the bot writes in the bot's own time zone (the stack's TZ),
    which MigrationRunner now passes to every migration, so let the bot apply
    it rather than running npm run db:migrate from a machine in another zone.
    Rows those columns got before 1.10.0, when the bot ran in UTC, come out 5–6
    hours late; only spent bypasses and audit history are that old. Rolling the
    image back to 5.3.0 needs no database rollback: 5.3.0 reads and writes
    TIMESTAMPTZ correctly.

    Downloads