What's Changed
- build: accept nix installable targets, fail eval on empty target by @DerDennisOP in #495
- flake.lock: update nixpkgs, crane by @gradient-ci[bot] in #496
- db,migration: fix: anchor build_attempt and its log to the build, not the eval by @DerDennisOP in #499
- worker,cli: max build cores (#497) + login/org onboarding (#498) by @DerDennisOP in #500
- Fix license identifier by @SuperSandro2000 in #501
- cli,cache,forge: gradient logs + eval-log streaming, eager NAR signing, build-log & open_pr fixes by @DerDennisOP in #502
- repo: feat: pin rust toolchain + rustfmt, add cargo-deny and lint gates by @DerDennisOP in #505
- cli,cache: fix cache upload: compression, eager signing, closure default (#506, #507, #509) by @DerDennisOP in #511
- web,ci,scheduler: fix: eval-time forge checks and forge_hooks decomposition by @DerDennisOP in #513
- Clean up nativeBuildInputs, make BINDGEN_EXTRA_CLANG_ARGS macos friendlier by @SuperSandro2000 in #512
- storage: refactor: verify NAR integrity, collapse object families, unblock staging by @DerDennisOP in #516
- gradient build: ssh flake inputs + --override-input (#514 #515 #521) by @DerDennisOP in #524
- Wildcard support for flake input overrides (#519) by @DerDennisOP in #525
- Serve CA: narinfo field for content-addressed paths by @DerDennisOP in #534
- flake.lock: update nixpkgs by @gradient-ci[bot] in #533
- Disable aws in nix bindings by @SuperSandro2000 in #535
- web: fix: stream NAR serving instead of buffering whole NARs into memory (OOM) by @DerDennisOP in #538
- flake.lock: update crane, nixpkgs by @gradient-ci[bot] in #544
- worker,scheduler: fix: best-effort flake input prefetch and graph-stuck eval recovery by @DerDennisOP in #551
- flake.lock: update crane, nixpkgs by @gradient-ci[bot] in #548
- Chunk cache RPCs to fix the WebSocket deadlock that looped evals forever by @DerDennisOP in #554
- Strip nix's repeated log tail; serve cache logs from upstreams by @DerDennisOP in #555
- Don't publish the eval cache of an evaluation that found nothing by @DerDennisOP in #556
- Stop bulk transfers from delaying cache RPC replies; retry store faults by @DerDennisOP in #557
- Converge .drv closure flags per eval; stop condemning evals over an unconverged flag by @DerDennisOP in #558
- cache: serve debug files by build id by @DerDennisOP in #565
- Drop proxy_max_temp_file_size by @SuperSandro2000 in #567
- web: create projects at the server keep_evaluations maximum by @DerDennisOP in #566
- flake.lock: update nixpkgs by @gradient-ci[bot] in #560
- gradient: refactor: rename project to task and organization to project by @DerDennisOP in #569
- web: refactor: render badges with badgelib by @vladkens in #570
- db: fix: key metric rollups on scope_hash alone, re-key stale org scopes by @DerDennisOP in #576
- deps: fix: update harmonia past the mmap NAR dumper by @DerDennisOP in #578
- worker: fix: only reap an eval that can recover the host by @DerDennisOP in #580
- worker: fix: report a server abort as its own failure kind by @DerDennisOP in #577
- Feat/eval search and entry point outputs 564 by @DerDennisOP in #581
- Improve s3 read timeouts by @SuperSandro2000 in #583
- frontend: fix: replace ApexCharts with Apache ECharts by @DerDennisOP in #574
- flake.lock: update crane, nix, nixpkgs by @gradient-ci[bot] in #584
- server: refactor: run every server loop under a ractor supervision tree by @DerDennisOP in #599
- scheduler: refactor: scheduler actor and one session actor per connection by @DerDennisOP in #600
- graph: refactor: one actor owns every write to the graph and cache index by @DerDennisOP in #602
- repo: feat: enforce the no-unwrap policy with clippy by @DerDennisOP in #603
- board: feat: show how a job spent its time on the worker by @DerDennisOP in #604
- db: refactor: cheap graph walks and one closure representation by @DerDennisOP in #605
- Closure-aware cache queries and successful build attempts by @DerDennisOP in #606
- Restart recovery ownership and substitute-relay classification by @DerDennisOP in #608
- frontend: fix: work through the #607 refinement list by @DerDennisOP in #611
- Invite-based membership and cache subscription approval by @DerDennisOP in #612
- cli: feat: gradient mcp by @DerDennisOP in #613
- scheduler: fix: dispatched jobs stuck 'running' forever by @DerDennisOP in #615
- worker: feat: register the co-located worker without a token or a UUID by @DerDennisOP in #616
- deploy: feat: wait out a running evaluation instead of reporting nothing built by @DerDennisOP in #617
- proto: perf: disable Nagle on every proto socket and widen the nginx /proto buffer by @DerDennisOP in #623
- cache: fix: keep a NAR's cache claim when its job already closed by @DerDennisOP in #624
- cache: fix: keep a broken upstream from stalling every narinfo miss by @DerDennisOP in #625
- graph: refactor: write every derivation fact atomically and content-addressed by @DerDennisOP in #628
- cache: refactor: count missing references on cached paths instead of a closure flag by @DerDennisOP in #633
- db: refactor: replace the closure gate flags with maintained readiness counters by @DerDennisOP in #648
- db: perf: size Postgres for the graph, aggregate the hot per-request writes by @DerDennisOP in #649
- scheduler: fix: make the dispatch record the only source of truth for an in-flight job by @DerDennisOP in #652
- db: refactor: drop derivation_closure and derive the histogram from a versioned cache by @DerDennisOP in #653
- scheduler: feat: substitute only what a build or entry point demands by @DerDennisOP in #662
- cache: feat: relay small NARs through the server, upload them in the background and serve them from RAM by @DerDennisOP in #664
- cache: feat: retain cached paths by the live closure by @DerDennisOP in #665
- server: refactor: durable effects outbox and maintenance deletes through the graph actor by @DerDennisOP in #669
- graph: fix: the walk prunes on a recorded subtree, not on walked alone by @DerDennisOP in #671
- scheduler: perf: evaluation done-check and waiting-state reconcile read counters, not anchors by @DerDennisOP in #672
- Perf/640 evaluation anchor counters by @DerDennisOP in #675
- frontend: feat: collapsible status sections in the evaluation log sidebar by @DerDennisOP in #677
New Contributors
- @gradient-ci[bot] made their first contribution in #496
- @vladkens made their first contribution in #570
Full Changelog: v1.3.0...v1.4.0