Skip to content

v1.12.1

Latest

Choose a tag to compare

@chr0nzz chr0nzz released this 01 Sep 14:26

v1.12.1

Fixes

  • CrowdSec counts could sit at zero while decisions were plainly there. When the decisions
    refresh failed, the last successful read was served as though it were current, with nothing to
    say otherwise. An expired machine registration therefore looked like no local bans rather than
    like an authentication problem, and the cache outlives a restart so it did not clear itself.
    Old decisions are still shown rather than a screen of zeroes, but once they are more than
    15 minutes stale the Bans in force card says so and names the reason (#159)

  • Update checks could exhaust the GitHub API rate limit. The daily check for new Traefik Manager
    and Traefik releases read the release list without any caching, so anything that made the check run
    more than once a day sent a fresh request every time. The 60 requests an hour that GitHub allows
    without a token is shared by public IP address, so this could also affect other tools on the same
    network. Release lookups are now cached for an hour and shared between the background check and the
    About panel, which caps them at one request per repository per hour (#158)

  • A failed rate-limited lookup retried immediately, forever. Once a cached release had expired and
    GitHub answered with a rate limit, the result was never cached, so every later check asked again.
    Being rate limited made the requests more frequent rather than less. A refused lookup now waits a
    full hour before retrying, keeps showing the last version it managed to read, and a temporary
    network failure retries after five minutes

  • Background checks ignored their schedule when their state could not be saved. The monitor keeps
    the time of each check in monitor.json and reloads it every cycle. If that file could not be
    written, every check ran on every cycle, turning daily checks into checks every 15 seconds. The
    schedule is now kept in memory as well, so a save failure at worst repeats a check after a restart