• v1.0.0-beta.3 81051a9ef7

    v1.0.0-beta.3 Stable

    skinhub-bot released this 2026-08-25 18:56:15 +02:00 | 827 commits to beta since this release

    1.0.0-beta.3 (2026-08-25)

    Features

    • resolver: expire parked scores after a day and resolve newest first (630ac04)
    • scheduler: CRAWL_ENABLED switch, queue refreshes always served (431409d)

    Bug Fixes

    • config: reject a misspelt CRAWL_ENABLED instead of reading it as off (ce9ce2b)
    • enumerator: resume an unfinished full walk on boot via a completion marker (f22e4b8)
    • osu: pace leaderboard requests per ip to stay under cloudflare's challenge rate (0026a45)
    • resolver: clear the seed cursor and write the completion marker atomically (b91bb46)
    • resolver: keep stale parked scores of known players out of the ttl sweep (47e6b58)
    • resolver: track seed completion in kv so a restart reruns an unfinished seed (bd88808)

    Tests

    • osu: pin which paths the leaderboard pacer matches (d1fac1f)
    Downloads
  • v1.0.0-beta.2 bb2f65acbd

    v1.0.0-beta.2 Stable

    skinhub-bot released this 2026-08-25 18:31:06 +02:00 | 839 commits to beta since this release

    1.0.0-beta.2 (2026-08-25)

    Bug Fixes

    • osu: pace the rate limiter instead of bursting a whole window (b9f8c8b)
    • osu: reject a zero TOKEN_RPM at boot (d15f26d)
    • refresher: skip a malformed embedded user instead of failing the refresh (8e770a9)
    • refresher: upsert holders from leaderboard scores (3ce2e1e)
    • tasks: seed swiss users from the country rankings on boot and daily (67b7ce5)

    CI

    • push floating major and minor image tags from main only (1b7480f)
    Downloads
  • v1.0.0-beta.1 c71ea13602

    v1.0.0-beta.1 Stable

    skinhub-bot released this 2026-08-25 18:13:18 +02:00 | 847 commits to beta since this release

    1.0.0-beta.1 (2026-08-25)

    Features

    • api: one maps item per map and ruleset with nested lazer and stable firsts (c2b55d6)
    • api: stats and maps endpoints (7e418ac)
    • api: token username and last_used_at in stats (73584a2)
    • enumerator: walk ranked, loved and qualified beatmapsets into leaderboards (bed66cb)
    • firehose: poll the global scores feed and queue swiss leaderboard refreshes (65b1c8b)
    • osu: api client with per-token rate limiting and token store (05d677a)
    • refresher: fetch swiss #1 under lazer and stable scoring (fb17dcf)
    • resolver: identify swiss players via rankings seed and batched user lookups (6576460)
    • run firehose, resolver, scheduler and enumerator in serve (2bdd332)

    Bug Fixes

    • client-tokens: back off on 429 without Retry-After and disable tokens whose refresh is rejected (f60ea98)
    • enumerator: keep the full-walk cursor across deltas and wipe firsts on status transitions (4d79392)
    • refresher: keep a key queued when it is re-enqueued during its refresh (fc5eacf)
    • resolver: release parked scores atomically so a concurrently parked swiss score is not dropped (9ce64fd)
    • scheduler: park gone leaderboards instead of wedging the step on one bad key (e31e389)

    Tests

    • api: cover a leaderboard with only a stable first (0010a91)
    Downloads
  • v1.0.0-beta.242 3ce3b79844

    skinhub-bot released this | 19 commits to beta since this release

    1.0.0-beta.242 (2026-09-12)

    Bug Fixes

    • rebuild a player's read models without colliding with their old rows (ea66f0e)
    Downloads
  • v1.0.0-beta.50 a2035a5b1a

    skinhub-bot released this | 622 commits to beta since this release

    1.0.0-beta.50 (2026-08-28)

    Bug Fixes

    • hmb: date crawl claims by their score and chain the victim from history (ca3a794)
    Downloads