Releases: shini4i/argo-watcher
Releases · shini4i/argo-watcher
Release list
v1.1.1
What's Changed
- fix(observability): count a first deployment as an increase by @shini4i in #582
- fix(web): search every task, not just the loaded page by @shini4i in #583
- fix(migrate): survive a database newer than the bundled migrations by @shini4i in #584
- fix(e2e): derive the race image Go version from go.mod by @shini4i in #585
- fix(server): discard server-owned fields from a task submission by @shini4i in #586
Full Changelog: v1.1.0...v1.1.1
Docker Images
ghcr.io/shini4i/argo-watcher:v1.1.1ghcr.io/shini4i/argo-watcher-client:v1.1.1
v1.1.0
What's Changed
- chore(security): scan bundled JavaScript with retire.js by @shini4i in #578
- feat(auth): add revocable per-application deploy tokens by @shini4i in #579
- fix(web): show why a read failed instead of an empty task list by @shini4i in #580
- test(e2e): cover application deploy tokens against a real Keycloak by @shini4i in #581
Full Changelog: v1.0.0...v1.1.0
Docker Images
ghcr.io/shini4i/argo-watcher:v1.1.0ghcr.io/shini4i/argo-watcher-client:v1.1.0
v1.0.0
What's Changed
- refactor(server): route with chi instead of gin by @shini4i in #539
- chore(migrate): drop lib/pq by using the pgx golang-migrate driver by @shini4i in #540
- test(server): cover encoded open-redirect vectors on the slash redirect by @shini4i in #541
- fix(web): show why an OIDC sign-in failed instead of a dead app by @shini4i in #542
- docs: prune comment bloat across the Go packages by @shini4i in #543
- docs(web): prune comment bloat from the frontend by @shini4i in #544
- feat(observability): report write-backs skipped without a credential by @shini4i in #545
- fix(client): refuse a redirect that steps down from https by @shini4i in #546
- docs: revalidate every page against the code and cut the bloat by @shini4i in #547
- ci: pin the task version installed by setup-task by @shini4i in #548
- feat(observability): explain why an out-of-sync deployment failed by @shini4i in #549
- feat(server): hand deployments over between replicas via task leases by @shini4i in #550
- feat(server): prune deployment history past a retention window by @shini4i in #551
- fix(observability)!: label deployment metrics only once ArgoCD confirms by @shini4i in #555
- feat(observability)!: record deployment outcomes as deployments_total by @shini4i in #556
- fix(observability): make the example dashboard importable and readable by @shini4i in #553
- feat(web): show the signed-in user in the side panel by @shini4i in #557
- chore(ci): bump action pins, shrink the docker build context by @shini4i in #569
- fix(web): stop shipping source maps, repair the swagger page by @shini4i in #570
- feat(auth)!: drop the Keycloak backward-compatibility surfaces by @shini4i in #571
- fix(server): bound what an unauthenticated task submission can ask for by @shini4i in #572
- fix(server)!: serve argo_cd_url as a URL string by @shini4i in #573
- feat(server): send security response headers on every route by @shini4i in #574
- fix(server): refuse cross-origin requests in production by @shini4i in #575
- ci: gate the Go tree with golangci-lint, document the network boundary by @shini4i in #576
- fix(auth): bind OIDC and JWT credentials to this application by @shini4i in #577
Full Changelog: v0.15.0...v1.0.0
Docker Images
ghcr.io/shini4i/argo-watcher:v1.0.0ghcr.io/shini4i/argo-watcher-client:v1.0.0
v0.15.0
What's Changed
- fix(web): tick the tasks-table duration while a task is in progress by @shini4i in #528
- feat(server): require a credential on read endpoints when OIDC is on by @shini4i in #529
- feat(server): require a credential on the WebSocket handshake by @shini4i in #530
- fix(server): report what is out of sync when a rollout fails by @shini4i in #531
- feat(auth): let the client authenticate its reads and close the task lookup by @shini4i in #532
- chore(deps): bump pymdown-extensions from 11.0 to 11.0.1 in /docs in the pip group across 1 directory by @dependabot[bot] in #533
- chore(deps): bump the npm_and_yarn group across 1 directory with 2 updates by @dependabot[bot] in #534
- feat(server): split the health endpoint into liveness and readiness by @shini4i in #535
- fix(web): stop the back button relogin loop on a direct task url by @shini4i in #536
- test(web): add a playwright browser suite for the ui by @shini4i in #537
- refactor(web): share one ws status protocol between both services by @shini4i in #538
Full Changelog: v0.14.0...v0.15.0
Docker Images
ghcr.io/shini4i/argo-watcher:v0.15.0ghcr.io/shini4i/argo-watcher-client:v0.15.0
v0.14.0
What's Changed
- feat(server): fail fast when the image is not part of the application by @shini4i in #521
- fix(web): keep the status pill counts consistent across tabs by @shini4i in #522
- fix(web): stop long tags and project urls from breaking their layout by @shini4i in #523
- fix(server): stop logging an absent task timeout as non-positive by @shini4i in #524
- fix(web): show a loading screen while the session is resolved by @shini4i in #525
- fix(server): report the real cause of a degraded or stalled rollout by @shini4i in #527
- chore(deps-dev): bump undici from 7.28.0 to 7.29.0 in /web in the npm_and_yarn group across 1 directory by @dependabot[bot] in #526
Full Changelog: v0.13.0...v0.14.0
Docker Images
ghcr.io/shini4i/argo-watcher:v0.14.0ghcr.io/shini4i/argo-watcher-client:v0.14.0
v0.13.0
What's Changed
- docs: prune redundant and correct outdated code comments by @shini4i in #502
- fix(argocd): classify all ArgoCD-unreachable outages as aborted by @shini4i in #503
- feat(argocd): opt-in batch write-back for the GitOps updater by @shini4i in #504
- feat(argocd)!: name the unreachable dependency in the banner by @shini4i in #505
- chore: bump dev deps by @shini4i in #507
- feat(auth): support any OIDC provider, deprecate Keycloak-specific config by @shini4i in #506
- docs(oidc): clarify shared groups-claim requirement across providers by @shini4i in #508
- fix(web): bump postcss and dompurify for security advisories by @shini4i in #510
- fix(server): stop logging every /ws request at debug level by @shini4i in #512
- ci(dast): run nuclei weekly instead of on every change by @shini4i in #513
- docs: add contribution guide and refresh community health files by @shini4i in #514
- feat(server): share the deploy lock across replicas via postgres by @shini4i in #515
- refactor(e2e): replace lab harness glue with NodePorts, a shared lib and bats by @shini4i in #516
- fix(server): stop uncredentialed tasks cancelling credentialed deploys by @shini4i in #517
- fix(server): fit graceful shutdown into the pod grace period by @shini4i in #518
- docs: add a security policy by @shini4i in #520
Full Changelog: v0.12.2...v0.13.0
Docker Images
ghcr.io/shini4i/argo-watcher:v0.13.0ghcr.io/shini4i/argo-watcher-client:v0.13.0
v0.12.2
What's Changed
- feat: surface ArgoCD-unreachable state in the UI (#498) by @shini4i in #499
- feat(state): fail fast and log when Postgres is unreachable at startup by @shini4i in #500
- chore: resolve SonarCloud code smells and CI hardening findings by @shini4i in #501
Full Changelog: v0.12.1...v0.12.2
Docker Images
ghcr.io/shini4i/argo-watcher:v0.12.2ghcr.io/shini4i/argo-watcher-client:v0.12.2
v0.12.1
What's Changed
- test(e2e): drive scenarios through the real client binary by @shini4i in #489
- test(e2e): broaden per-release lab coverage across untested features by @shini4i in #490
- test(e2e): cover scheduled lockdown and graceful WS-drain by @shini4i in #491
- feat(observability): add example Grafana dashboard and monitoring stack by @shini4i in #492
- feat(observability): add deployment_duration_seconds metric by @shini4i in #493
- refactor(test): consolidate mocks onto gomock in internal/mocks by @shini4i in #494
- refactor: unify config loading and adopt structured logging by @shini4i in #495
- test(e2e): cover single-replica postgres state by @shini4i in #496
Full Changelog: v0.12.0...v0.12.1
Docker Images
ghcr.io/shini4i/argo-watcher:v0.12.1ghcr.io/shini4i/argo-watcher-client:v0.12.1
v0.12.0
What's Changed
- ci(release): prune superseded pre-releases after a stable release by @shini4i in #470
- fix(web): keep history filters visible when list is empty by @shini4i in #471
- perf(updater): avoid full-worktree scans on git write-back by @shini4i in #472
- perf(updater): clone GitOps repos shallowly to cap write-back cost by @shini4i in #473
- ci: remove PR-Agent review automation by @shini4i in #474
- fix(web): disable react-admin built-in login form by @shini4i in #475
- fix: harden deploy-lock and correct deployment status reporting by @shini4i in #476
- refactor: relocate shared packages into internal/ by @shini4i in #477
- refactor(argocd): extract git write-back engine out of models by @shini4i in #478
- refactor(server): split router.go into cohesive files by @shini4i in #479
- refactor(argocd): break up argo_status_updater.go by @shini4i in #480
- fix(tasks): decouple task list from ArgoCD reachability by @shini4i in #481
- feat(argocd): surface pod-level cause in deployment failure reasons by @shini4i in #482
- fix(server): guard stale locked notification after lock release by @shini4i in #483
- fix(server): wait for in-flight WebSocket upgrades on shutdown by @shini4i in #484
- fix(server): stop accepting connections before draining on shutdown by @shini4i in #485
- fix(client): redact auth credentials from debug cURL log by @shini4i in #486
- test(e2e): cover generic webhook notifications by @shini4i in #487
- fix(server): return 500 not 404 on task lookup backend failure by @shini4i in #488
Full Changelog: v0.11.0...v0.12.0
Docker Images
ghcr.io/shini4i/argo-watcher:v0.12.0ghcr.io/shini4i/argo-watcher-client:v0.12.0
v0.11.0
What's Changed
- chore: improve error messages for misconfiguration and auth failures by @shini4i in #434
- feat: detect and surface rollback deployments by @shini4i in #449
- feat(argocd): enrich deployment failure diagnostics by @shini4i in #431
- fix(argocd): enforce deployment timeout as a wall-clock deadline by @shini4i in #450
- fix(client): retry transient network and 5xx errors while polling by @shini4i in #451
- chore(deps): bump backend, frontend, and flake deps to latest by @shini4i in #452
- feat(argocd): cancel superseded deployments by @shini4i in #453
- ci(pr-agent): add DeepSeek-backed AI PR review workflow by @shini4i in #454
- test(argocd): guard against crash when app disappears mid-rollout by @shini4i in #455
- feat(lockdown): notify clients on scheduled lock transitions by @shini4i in #456
- ci(release): migrate goreleaser docker to dockers_v2 by @shini4i in #457
- ci(pr-agent): tune review with project-specific config by @shini4i in #458
- fix(web): restore layout broken by MUI v9 upgrade by @shini4i in #461
- feat(notifications): add Mattermost notification strategy by @udjin10 in #460
- feat(argocd): add per-task refresh override by @shini4i in #462
- ci(release): sign checksums with cosign v3 bundle format by @shini4i in #463
- fix(argocd): scope superseded-task cancel to matching images by @shini4i in #464
- docs: fix quickstart guide by @shini4i in #465
- fix(updater): harden git write-back retry against concurrent writers by @shini4i in #466
- refactor(logging): replace zerolog with stdlib log/slog by @shini4i in #467
- fix(client): accept raw JWT so BEARER_TOKEN is CI-maskable by @shini4i in #468
- fix(auth): prevent log injection in keycloak group logging by @shini4i in #469
New Contributors
Full Changelog: v0.10.7...v0.11.0
Docker Images
ghcr.io/shini4i/argo-watcher:v0.11.0ghcr.io/shini4i/argo-watcher-client:v0.11.0