• v1.0.0 81b7943db1

    v1.0.0
    All checks were successful
    ci / test (push) Successful in 3m39s
    ci / e2e (push) Successful in 1m46s
    ci / docker (push) Successful in 2m19s
    ci / deploy (push) Successful in 13s
    Stable

    Gilles released this 2026-11-02 09:15:20 +00:00 | 0 commits to master since this release

    argus/backend 1.0.0 Docker image (git.stationmyr.net/argus/backend:1.0.0), bundling argus/frontend 1.1.0.

    First release.

    ✨ Features

    • Threshold rules with hysteresis and sustained breach (#56) by @Gilles — closes #54 Threshold rules: hysteresis and sustained breach
    • Open any past report, page through older history (#55) by @Gilles — closes #53 Open any past report, page through older history
    • Pin a release commit forever, independent of its shared branch ref (#52) by @Gilles — closes #51 Pin a release commit forever, independent of its shared branch ref
    • Lighten ProjectView by surfacing PR state and allow pinning refs forever (#50) by @Gilles — closes #49 Lighten ProjectView by hiding closed PRs and allow pinning refs forever
    • Expose report metrics to bigb (#47) by @Gilles — closes #46 Expose report metrics to bigb
    • Overview endpoint: every stream by severity (#43) by @Gilles — closes #41 Overview endpoint: every stream by severity
    • Publish reports (#42) by @Gilles — closes #22 New king of report : publish report
    • Receive Uptime Kuma webhook notifications (#40) by @Gilles — closes #38 Receive Uptime Kuma webhook notifications
    • Pull reports from other tools, starting with Beszel (#39) by @Gilles — closes #37 Connectors: pull reports from other tools, starting with Beszel
    • Organization-level and global event rules (#35) by @Gilles — closes #21 Should allow alert/notification at organisation or global level
    • Metric threshold rules for custom reports (#34) by @Gilles — closes #23 Define custom rules to custom report for alerts
    • Silent-source (stale) event trigger (#33) by @Gilles — closes #29 Silent-source (stale) event trigger
    • Source refs, JSON uploads and de-duplication (#32) by @Gilles — closes #28 Source refs, JSON uploads and de-duplication
    • Access through Authentik groups (#31) by @Gilles — closes #27 Access through Authentik groups
    • Native organizations and external projects (#30) by @Gilles — closes #26 Native organizations and external projects (reports from outside Forgejo)
    • Add account-linked theme preference (/me/theme/) (#20) by @Gilles — closes #19 Add an account-linked theme preference endpoint
    • Integrate bigb for a homepage overview dashboard (#18) by @Gilles — closes #17 Integrate bigb for a visual overview dashboard on the homepage
    • Several channels, private messages and report author (#14) by @Gilles — closes #13 Mattermost: several channels, private messages and report author
    • Per-project rules with severities and five delivery channels (#12) by @Gilles — closes #10 Multi-channel events with per-repository rules and severities
    • Add report history filtering + list-valued self-report metrics (c541c15) by @Gilles
    • Add organizations, org-scoped tokens, report dates, and Forgejo discovery (31f0288) by @Gilles
    • Add a custom_type_name badge filter, same as the existing variant one (5722c61) by @Gilles
    • Add view-level tests for upload-token list/create/revoke (437a6b1) by @Gilles
    • Support several reports of the same type per ref (CI matrix variants) (fad2806) by @Gilles
    • Add a manual reprocess endpoint, re-parsing from the stored raw file (8596264) by @Gilles
    • Add endpoint exposing a lint report's full findings list (829cc97) by @Gilles
    • Implement the annotated source code endpoint (48b73a1) by @Gilles
    • Implement automatic cleanup (closed PRs + history) and the Forgejo webhook (99aea40) by @Gilles
    • Implement the badge SVG endpoint (1d2c6c9) by @Gilles
    • Implement the real report parsers (JUnit/Cobertura/lint/custom) (f1f7603) by @Gilles
    • Add README badges (CI, coverage, cas d'usage, license) (7540717) by @Gilles

    🐛 Bug fixes

    • Scope e2e homepage error selector to main's direct child (#61) by @Gilles — closes #60 bug: flaky e2e "montre un message d'erreur" — ambiguous main p selector races the BigbDashboard widget
    • Fix CI: lint/format-check/bandit failures from the org/discovery commit (01329b4) by @Gilles
    • Fix e2e: update the brand e2e test for the logo, align @wdio/* to v10 (7285e42) by @Gilles
    • Fix a regression in the SSO logout fix: don't strand local admin sessions (5850d69) by @Gilles
    • Fix logout: allow GET too, or the SSO-session fix never even runs (ad225db) by @Gilles
    • Fix logout: end the Authentik SSO session too, not just Argus's own (064c644) by @Gilles
    • Fix gitignore: still listed coverage.json, never coverage.xml (3d86d4a) by @Gilles
    • Fix Cobertura source-prefix guess breaking argus/frontend's own reports (1ffb741) by @Gilles
    • Fix permission check dropping repo/org owners to "none" (5360445) by @Gilles
    • Fix Garage S3 addressing style (path, not virtual-hosted) (9352aa8) by @Gilles
    • Fix celery worker crash-loop against RabbitMQ 4.x on real deploy (71a8169) by @Gilles
    • Fix DATABASE_URL/RabbitMQ password URL-encoding bug hit on first deploy (ad08fee) by @Gilles

    ⬆️ Dependencies

    9 changes

    🔧 CI & maintenance

    • Send publish reports to Argus from the release job (#45) by @Gilles — closes #44 Send publish reports to Argus from the release job
    • Serve the functional-coverage badge from Argus, drop the badges branch (e6a9ba9) by @Winnie
    • Release notes and publish-release for numbered and devel releases (8a24f62) by @Gilles
    • Use the shared argus/upload-action (58fa3f5) by @Gilles

    📦 Other changes

    • Update pnpm to v12.15.0 (#8) by @renovate-bot
    • Update dependency typescript to v6 (#6) by @renovate-bot
    • Update redis Docker tag to v8 (#7) by @renovate-bot
    • Update dependency start-server-and-test to v3 (#5) by @renovate-bot
    • Update webdriverio to v10.1.0 (#3) by @renovate-bot
    • Update pnpm to v12.14.0 (#2) by @renovate-bot
    • Configure Renovate (#1) by @renovate-bot
    • Cap argus-worker/argus-beat memory (512m/256m) (6b5d06c) by @Gilles
    • Persist the aggregate in Postgres instead of caching it in Redis (b68af88) by @Gilles
    • Compute the aggregate asynchronously via Celery, not on the request path (46b3564) by @Gilles
    • Compute the per-variant aggregate badge server-side, not in CI (928c659) by @Gilles
    • Argus reports on its own periodic housekeeping tasks (dogfooding) (207a84a) by @Gilles
    • Post a PR comment linking to that PR's Argus report page (f058517) by @Gilles
    • Adopt the real brand kit: logo in README, charte's "discret" for unknown badges (f1eac61) by @Gilles
    • Align badge status colors with the charte graphique (ec10262) by @Gilles
    • Eat our own dog food on badges too: use Argus's own endpoint (1fdf70d) by @Gilles
    • Expose per-test-case detail and exact branch coverage counts (9ae82de) by @Gilles
    • Normalize Cobertura filenames against (49e9d3c) by @Gilles
    • Clear processing_error on a successful (re)process (cd5436e) by @Gilles
    • Work around a real Garage HeadObject bug (929091e) by @Gilles
    • Dogfood Argus on itself + fix a real RabbitMQ bug it exposed (a0b05ed) by @Gilles
    • Update README's État actuel section (c873406) by @Gilles
    • Fill in the real Authentik client_id now that the blueprint is applied (d2e8917) by @Gilles
    • Finish the CI/CD pipeline: SPA bundling, e2e, docker, deploy (707b9d1) by @Gilles
    • Scaffold Argus backend: models, async upload pipeline, OIDC/permissions (9e135a8) by @Gilles

    Contributors: @Gilles, @Winnie

    Downloads