• v2.3.0-beta.8 017595d47d

    v2.3.0-beta.8 Stable

    oscbot released this 2026-06-02 20:50:44 +02:00 | 315 commits to beta since this release

    2.3.0-beta.8 (2026-06-02)

    Bug Fixes

    • clippy: drop useless into_iter() in ci_health (rust 1.96 lint) (fe44420)

    CI

    • run fmt, clippy, and the full test suite (gated) on every push (5642d38)
    • trigger on tests/ and scripts/ changes too (1268893)

    Build

    • cache dependency compilation with cargo-chef (7534340)

    Tests

    • add scripts/test.sh to run the suite without exhausting the host (344a4f5)
    • docs: assert scalar page + redoc removal instead of swagger/redoc (2e141d9)
    Downloads
  • v2.3.0-beta.7 53fd6556f9

    v2.3.0-beta.7 Stable

    oscbot released this 2026-06-02 19:35:20 +02:00 | 323 commits to beta since this release

    2.3.0-beta.7 (2026-06-02)

    Features

    • docs: hide scalar api-client button, add favicon (b953d6a)

    CI

    • validate generated openapi spec; drop stale snapshot-step comments (e30237e)
    Downloads
  • v2.3.0-beta.6 c06bab2bfa

    v2.3.0-beta.6 Stable

    oscbot released this 2026-06-02 19:19:49 +02:00 | 326 commits to beta since this release

    2.3.0-beta.6 (2026-06-02)

    Features

    • openapi: operation summaries, described tags, security schemes (ac6d7cd)
    Downloads
  • v2.3.0-beta.5 0603c04570

    v2.3.0-beta.5 Stable

    oscbot released this 2026-06-02 19:07:33 +02:00 | 328 commits to beta since this release

    2.3.0-beta.5 (2026-06-02)

    Bug Fixes

    • openapi: factual error descriptions, drop impl refs, realistic error example (8fa2f06)
    Downloads
  • v2.3.0-beta.4 de752dbc99

    v2.3.0-beta.4 Stable

    oscbot released this 2026-06-02 18:50:42 +02:00 | 330 commits to beta since this release

    2.3.0-beta.4 (2026-06-02)

    Features

    • openapi: type all response bodies with schemas + descriptions (aa110c7)

    Refactors

    • docs: replace swagger ui + redoc with scalar (fe62975)
    Downloads
  • v2.3.0-beta.3 de67a94d9f

    v2.3.0-beta.3 Stable

    oscbot released this 2026-06-02 17:38:32 +02:00 | 333 commits to beta since this release

    2.3.0-beta.3 (2026-06-02)

    Bug Fixes

    • openapi: clear utoipa default description/contact, link the license (1da5203)
    Downloads
  • v2.3.0-beta.2 9c76255f72

    v2.3.0-beta.2 Stable

    oscbot released this 2026-06-02 00:14:05 +02:00 | 335 commits to beta since this release

    2.3.0-beta.2 (2026-06-01)

    Bug Fixes

    • openapi: set osc-web title/version/license; restore CIDoneBody + UserPolicyPatch schemas (2c5632c)
    Downloads
  • v2.3.0-beta.1 31022deee9

    v2.3.0-beta.1 Stable

    oscbot released this 2026-06-02 00:00:36 +02:00 | 337 commits to beta since this release

    2.3.0-beta.1 (2026-06-01)

    Features

    • port .osk upload pipeline (zip parse, validation, provisioning, git-push seam) + download-all (7067850)
    • port admin endpoints (stats, deploy-ci, ci-health, cache, users, tags, pregenerate SSE, download-all) (706f248)
    • port auth, sessions, CSRF, and the DB/entities layer (e3ca947)
    • port bot read API + Forgejo/ci-done webhooks + pregeneration (afcb94f)
    • port CI endpoints (list/dispatch/log) + live SSE stream + log filter (752a882)
    • port media proxy (LFS/S3 streaming) + avatar proxy (53b2704)
    • port reads layer (Forgejo client, cache, community, users, skin-tags) (d51a10c)
    • port render picks GET/PUT with cross-user validation (05da05f)
    • port skins.json save, skin delete, skin detail + ci-tracking (f81837d)
    • port token-bucket rate limiting + ci-lock gate + /rate-limits (1745d23)
    • scaffold Rust (axum) skeleton with health endpoints (b473f27)
    • serve dark Swagger UI + ReDoc; constant-time bearer comparisons (d1e3e1f)

    Refactors

    • drop dead get_skins_json; mark defensive guards no-cover (5408ff4)
    • drop unused require_owner_or_admin dependency (5e62a60)
    • generate OpenAPI from code via utoipa (drop frozen snapshot) (bc2c434)
    • source member identity from a 24h cache instead of minted User rows (446bc2e)

    Build

    • Rust Dockerfile, serve frozen openapi snapshot, beta CI + Cargo release config (dc4e174)

    Tests

    • adapter coverage (osu HTTP, actions-log dual-source, repo provisioning, download-all zip, skin detail) (8d7ec5e)
    • add in-process integration harness + lib/bin split (b0e889a)
    • black-box harness (testcontainers postgres, real session auth, lifespan client) (06b9dd4)
    • close reachable coverage gaps and set a 98% branch-coverage floor (b5c36f0)
    • cover cache serve-stale, leaf health signal, and versioned invalidation (4c3c641)
    • cover ci_tracking resolver, cache expiry, community refresh, picks/webhook/bot/lfs branches (55439af)
    • cover delete-path edges, tree/skins.json parse guards, single-field patch, SSE error event (5011278)
    • cover repo-provisioning edges, phantom-run cutoff, ci-health other bucket (440f43f)
    • cover the identity-cache refactor (member/non-member/virtual) (9520f62)
    • final reachable stragglers (SSE multi-poll, resolver edges, zstd fallback, error paths) (51b84c0)
    • live-CI SSE stream (terminal + not-found) + phantom CIRun row; pytest-timeout guard (344e7b6)
    • media proxy (LFS/proxy/range), avatar cache, CI runs+log reads (9bcbc9b)
    • osu OAuth login/callback, logout, /me (45d753b)
    • parallel coverage wave (forgejo wrappers, skins branches, get_user_skins, pregenerate, scattered) (44d155e)
    • pure-logic spec (osk/skin_ini/semver/rate_limit/csrf/picks/log_filter/upload rules) (37b62d4)
    • read endpoints (community, user page, picks, skin-tags) + Forgejo/osu/S3 fakes (87b2fe1)
    • real git-push integration (clone/commit/push to a local bare remote) (baf64ee)
    • router + service tail coverage; fix coverage greenlet concurrency (b365212)
    • security cross-cutting (sessions, CSRF, role gates, rate limiting) (6a2a1b0)
    • serve-stale resilience + degraded health signal + CI-active write gate (ce79228)
    • webhooks (HMAC/bearer), admin panel, bot API (7a461f6)
    • write endpoints (skins.json, delete, dispatch, picks, upload+git stub) (0dc1838)
    Downloads
  • v2.2.1 21919528cc

    v2.2.1 Stable

    oscbot released this 2026-06-01 01:40:18 +02:00 | 382 commits to main since this release

    2.2.1 (2026-05-31)

    Bug Fixes

    • health: derive degraded signal from leaf Forgejo calls, not the community composite (7419f4e)
    Downloads
  • v2.2.0 b701721f22

    v2.2.0 Stable

    oscbot released this 2026-06-01 01:16:33 +02:00 | 385 commits to main since this release

    2.2.0 (2026-05-31)

    Features

    • health: expose /api/health/forgejo degraded signal for the UI banner (1e72e55)

    Performance Improvements

    • avatar: cache avatar bytes in-process in front of Garage (e08f940)
    • cache: serve stale Forgejo data on restart, cache community payload, fix roster invalidation (25cbec6)
    Downloads