What's Changed
- worker: install rustls crypto provider before TLS handshake (#232) by @DerDennisOP in #233
- backend: fix Postgres parameter overflow on /evals/{eval}/builds by @DerDennisOP in #238
- Make dashboard stats navigation items by @krauterbaquette in #239
- rework gradient build as Build Requests (#234) by @DerDennisOP in #240
- worker: pin active build inputs and outputs as GC roots (#245) by @DerDennisOP in #249
- connector+cli: client api rework, --json flag, download #attr by @DerDennisOP in #253
- fix: surface entity name in title, align eval duration, disable PrimeNG inputs (#229) by @DerDennisOP in #254
- fix SPA loading with caddy reverseproxy by @krauterbaquette in #255
- backend: pin entry-point download to newest-commit evaluation (#185) by @DerDennisOP in #256
- Gate untrusted PR builds on maintainer approval (#247) by @DerDennisOP in #257
- nix: raise postgres max_connections default and fix cache test worker org key by @DerDennisOP in #258
- Cache NAR management (list/show/delete/stats) — fixes #260 by @DerDennisOP in #263
- feat: flake input overrides per project (#259) by @DerDennisOP in #264
- Issue #262: Gradient Actions (Send Mail / Web Request / Forge Status Report) by @DerDennisOP in #266
- fix #268: park evaluations as Waiting when org has no eval-capable worker by @DerDennisOP in #269
- Cache roles and permissions (#265) by @DerDennisOP in #270
- feat: admin deep-gc endpoint + admin_task ledger (#271) by @DerDennisOP in #272
- Improve top of README by @SuperSandro2000 in #273
- fix(core): safe GC defaults for keep_evaluations and nar_ttl_hours by @DerDennisOP in #275
- feat(ci): /ci run [wildcard] forge command by @DerDennisOP in #276
- feat(state): declarative org members with deferred backfill (issue #94) by @DerDennisOP in #277
- nix: fix frontend dev VM by @krauterbaquette in #278
- feat(entity): derive Default on DB models (closes #183) by @DerDennisOP in #279
- fix(web): surface 4xx + UI banner when evaluation start fails (#280) by @DerDennisOP in #281
- frontend: show only one loading indicator by @krauterbaquette in #283
- frontend: fix debounce time on username check by @krauterbaquette in #284
- feat: allowed_ips for API keys + webhooks, S3 User-Agent (#282) by @DerDennisOP in #285
- feat: browser-based gradient login (#251) by @DerDennisOP in #286
- fix(cli,core): trust OS CA roots for self-signed servers (#287) by @DerDennisOP in #288
- frontend: add declerative cache netrc instructions by @krauterbaquette in #289
- fix(cli): decode caches list as bare array (#290) by @DerDennisOP in #291
- fix(cli): dynamic shell completion with API-driven resource names by @DerDennisOP in #292
- fix(cli): zsh completion completes on first TAB when installed to fpath by @DerDennisOP in #293
- chore(cli): bump git2 to 0.21 by @DerDennisOP in #294
- Fix/issue 118 gradient proto upstreams by @DerDennisOP in #297
- fix(scheduler): gate fetch flake jobs on fetch capability + adaptive fetch/eval split by @DerDennisOP in #299
- fix: maintainer forge approval bypass + wildcard eval check name (#298) by @DerDennisOP in #300
- feat: cache NAR upload + interactive CLI (#261) by @DerDennisOP in #301
- fix(gc): keep last finished evaluation, ignore active ones from keep count (#305) by @DerDennisOP in #306
- Add GET /admin/state config export endpoint (#188) by @DerDennisOP in #307
- fix(proto): dedicated reject code for orgs with no cache (#302) by @DerDennisOP in #308
- Failure handling and retries (#244) by @DerDennisOP in #310
- Closure size Sankey view + build-graph rework (#242) by @DerDennisOP in #311
- fix(worker): stop the running build on cancel (#309) + preserve queued/waiting work across restart by @DerDennisOP in #312
- feat(frontend): render closure as accumulating d3-sankey tree by @DerDennisOP in #313
- feat(cli): background build dispatch and live watch dashboard (#314) by @DerDennisOP in #315
- feat(scheduler): pluggable resource-aware scoring (#304, #96, #111) by @DerDennisOP in #317
- fix(oidc): PKCE, account claiming, and group-to-role mapping (#319, #318, #322) by @DerDennisOP in #323
- Log compression, chunking, limiting & store-fetch (#246) by @DerDennisOP in #324
- fix(state): kind-aware error when a reporter trigger names an outbound integration (#326) by @DerDennisOP in #328
- fix(web): let subscribed-org members view private caches (#327) by @DerDennisOP in #329
- Fix issue #303: minor frontend issues by @DerDennisOP in #331
- fix: declarative organization ids and integration-backed triggers in state (#333, #332) by @DerDennisOP in #336
- Network/disk-aware scheduling (#330) by @DerDennisOP in #340
- fix(web): org members get read-only cache stats and key creation (#334) by @DerDennisOP in #337
- Runtime closure size (#338) by @DerDennisOP in #342
- feat: max storage limits per instance and per cache (#216) by @DerDennisOP in #344
- Job Board & full metrics rework (#343) by @DerDennisOP in #346
- Fix manual-eval ISE, mlock log flood, multi-line warnings; state-apply test (#350 #349 #351 #347) by @DerDennisOP in #352
- Live WebSocket updates (#345) + /evaluate param-overflow fix + Job Board issues (#341) by @DerDennisOP in #353
- Group build sidebar by status with sticky headers (#32, #341) by @DerDennisOP in #354
- Collect cgroup build metrics (peak RAM / disk / CPU) on the worker by @DerDennisOP in #356
- fix: #341 frontend issue batch + Job Board admin/pending views by @DerDennisOP in #358
- fix(worker): default buildMetrics off, opt-in via settings by @DerDennisOP in #362
- Instance-aware scoring: full job/worker/instance context, dispatch gate (#359) by @DerDennisOP in #361
- fix: HTTP upstream gradient-cache probe reports fake caches (#363) by @DerDennisOP in #364
- refactor: split component SCSS and restore the 10kB component style budget (#325) by @DerDennisOP in #365
- fix: job & worker context corrections (#366) by @DerDennisOP in #367
- Allow setting Cargo features on nix gradient-cli package by @giodamelio in #368
- refactor: split core into focused gradient-* crates by @DerDennisOP in #370
- Split build into Build/BuildAttempt/DispatchedJob; substitute-on-any-worker reliability fix by @DerDennisOP in #372
- chore(deps): update backend+cli crates & flake.lock; feat: PR-review approval unpark (#369) by @DerDennisOP in #374
- fix(scheduler): keep cross-arch substitutable builds dispatchable + #375 by @DerDennisOP in #376
- refactor(backend): construct entities via Model + into_active_model by @DerDennisOP in #377
- feat: resumable NAR transfers (#225) by @DerDennisOP in #378
- fix(frontend): virtualize live log streaming rendering by @DerDennisOP in #379
- Project page redesign (#295) by @DerDennisOP in #380
- fix(web,frontend): live evaluation progress + project-page perf/UX fixes by @DerDennisOP in #382
- perf(backend): incremental entry-point dep-closure counts (#383) by @DerDennisOP in #385
- optimized evals by @DerDennisOP in #388
- fix: eval Waiting state, chunked cache upload, project-page bugs, TLS config by @DerDennisOP in #393
- feat: SCIM 2.0 provisioning (#384) by @DerDennisOP in #395
- fix(web,state): set active=true when creating users so login isn't re… by @DerDennisOP in #397
- fix(storage): shard log dir into 256 subfolders by last 2 uuid chars by @DerDennisOP in #398
- Faster Created → Queued transitions (#392) by @DerDennisOP in #399
- gradient-worker: mimic nix' default of adding i686-linux when the architecture is x86_64-linux by @SuperSandro2000 in #400
- Evaluation metrics: per-eval stats, hotspots, flake graph, RAM-aware dispatch by @DerDennisOP in #402
- feat: base (default) workers (#115) by @DerDennisOP in #404
- board: feat: scoring-rule descriptions popup and base-worker state export by @DerDennisOP in #406
- worker: fix: push eval batch source closure before reporting it (#392) by @DerDennisOP in #409
- nix: docs: fix option description formatting and mkEnableOption grammar (#408) by @DerDennisOP in #413
- Fix typo in netrc, use sops to put the file in place by @SuperSandro2000 in #412
- board: feat: draining server toggle (#411) by @DerDennisOP in #414
- ci: feat: OpenPr action + native flake.lock updater (#267) by @DerDennisOP in #415
- fix: minor frontend issues (#401) by @DerDennisOP in #418
- backend: fix: self-heal builds when a required input is missing from cache (#410) by @DerDennisOP in #420
- Fix nix run command by @SuperSandro2000 in #421
- scheduler: fix: bulk evaluation abort + dispatch race by @DerDennisOP in #425
- fix: gradient build end-to-end + nix NAR pack & result (#422) by @DerDennisOP in #426
- fix: wildcard drvPath tolerance, fair-share idle gate, all-scores Live Jobs (#419) by @DerDennisOP in #429
- Update local IPs by @SuperSandro2000 in #432
- fix: umlaut slugs, build-request source NAR zstd + eval surfacing, fetch-by-SHA (#431, #435, #430) by @DerDennisOP in #439
- web: fix: forge action Test button probes connectivity instead of posting a synthetic status by @DerDennisOP in #433
- StorePath object + prefix-free API, and revive per-component log levels (#416, #438) by @DerDennisOP in #442
- backend: feat: build-once derivation anchors + direct NAR upload by @DerDennisOP in #443
- GitHub integration per-org with installation id (#436) by @DerDennisOP in #445
- web: fix: gate webhook fan-out to the event's source repository (#449) by @DerDennisOP in #450
- integration: fix: surface required forge webhook events so /gradient commands fire on non-GitHub forges by @DerDennisOP in #451
- scheduler: fix: gate build dispatch on inputSrcs cached by @DerDennisOP in #454
- Fix/dispatch gate input sources by @DerDennisOP in #455
- frontend: fix: GitHub App setup cleanup (#457) by @DerDennisOP in #458
- db: feat: log start of database migrations (#446) by @DerDennisOP in #459
- forge,frontend: fix: Forgejo webhook + project state + Settings breadcrumb (#441, #452, #460) by @DerDennisOP in #461
- scheduler,db: feat: gate dispatch on closure-complete deps by @DerDennisOP in #463
- Try upstreams in latency order (#464) by @DerDennisOP in #469
- cli: add gradient eval subcommand (nix-eval-jobs-like) by @DerDennisOP in #473
- feat: create-permission gate for orgs/caches + login deep-link redirect by @DerDennisOP in #474
- worker: fix: discard dead idle eval workers on pool checkout by @DerDennisOP in #475
- scheduler: refactor: unify scheduling, self-heal and GC into one legible flow by @DerDennisOP in #484
- eval,worker: refactor: consolidate the eval-worker subprocess and dedupe the walkers (#481) by @DerDennisOP in #485
- db: refactor: type the status enums, tame derived-flag drift, and baseline the migrations by @DerDennisOP in #486
- flake: chore: bump nix input to eval-cache round-trip fix by @DerDennisOP in #487
- worker,proto: refactor: consolidate the protocol stacks and unify the NAR transfer path by @DerDennisOP in #488
- Per-capability/arch/feature worker load metrics + by-URL upstream merge (#417) by @DerDennisOP in #490
- fix: configurable source upload size, clearer gradient build errors, per-package failure scoping by @DerDennisOP in #494
New Contributors
- @giodamelio made their first contribution in #368
Full Changelog: v1.2.0...v1.3