Update server dependencies - #870
Conversation
🔐 Codex Security Review
Review SummaryOverall Risk: NONE FindingsNo security, correctness, or reliability findings were identified in the changed hunks. NotesThe PR scope is limited to dependency and lockfile metadata updates across Go modules, the Go workspace checksum file, and the Rust ASIC plugin Cargo lockfile. I did not identify changed application logic, auth paths, database queries, miner command handling, pool configuration, network discovery behavior, or protobuf schema changes in I did not run tests; this review is based on the authoritative diff only. Generated by Codex Security Review | |
There was a problem hiding this comment.
Pull request overview
Updates the Go dependency baseline across the server module, several plugin modules, and the plugin-contract test module—primarily bumping etcd to v3.7.1 (driving a Go 1.26 minimum) and gRPC to v1.83.0.
Changes:
- Bumped server module to
go 1.26and refreshed key deps (etcdv3.7.1, gRPCv1.83.0, plus assorted transitive updates). - Updated plugin modules (proto/antminer/virtual) to
go 1.26, refreshed their dependency graphs, and advanced the internal server pseudo-version references. - Updated
tests/plugin-contractto gRPCv1.83.0and refreshed transitive sums.
Reviewed changes
Copilot reviewed 5 out of 10 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
server/go.mod |
Bumps module go version to 1.26 and refreshes direct/indirect deps (notably etcd + gRPC). |
server/go.sum |
Updates checksum set to match the refreshed server dependency graph. |
plugin/proto/go.mod |
Bumps to go 1.26, updates internal server pseudo-version, and refreshes plugin proto deps (gRPC, moby, docker connections). |
plugin/proto/go.sum |
Updates checksums for the refreshed plugin/proto dependency graph. |
plugin/antminer/go.mod |
Bumps to go 1.26, updates internal server pseudo-version, and refreshes gRPC + transitive deps. |
plugin/antminer/go.sum |
Updates checksums for the refreshed plugin/antminer dependency graph. |
plugin/virtual/go.mod |
Bumps to go 1.26, updates internal server pseudo-version, and refreshes gRPC + transitive deps. |
plugin/virtual/go.sum |
Updates checksums for the refreshed plugin/virtual dependency graph. |
tests/plugin-contract/go.mod |
Updates gRPC + transitive deps (note: currently uses go 1.26.5 directive). |
tests/plugin-contract/go.sum |
Updates checksums for the refreshed contract test dependency graph. |
- refresh workspace checksums through the canonical generation workflow - keep generated-code verification aligned with the updated module graph
Refresh all seven server-side Go modules through the canonical update workflow. etcd 3.7.1 now requires Go 1.26, so the server and plugin module language targets advance while the workspace remains on Go 1.26.5.
- refresh workspace checksums through the canonical generation workflow - keep generated-code verification aligned with the updated module graph
305994c to
a736577
Compare
Advance the newly released plan9stats pseudo-version and keep plugin server references aligned with the updated main branch.
Update the ASIC-rs runtime lockfile to the first release that fixes the remote memory-exhaustion advisory.
Reviewable diff: +127/-130 across 10 files (excludes generated, test, and story files).
Summary
Refreshes the server and plugin dependency baseline to current compatible releases, including etcd 3.7.1 and gRPC 1.83.0. It also updates ASIC-rs to
quinn-proto0.11.15, removing the vulnerable version reported by high-severity Dependabot alert 59. etcd 3.7.1 raises the minimum language target to Go 1.26; the workspace and build toolchain already use the current Go 1.26.5 release.How it works
The canonical
just update-go-depsworkflow refreshes the main server, three Go plugins, and fake Proto rig; the contract-test and fake Antminer modules are checked separately because they are outside that recipe.go mod tidyreconciles each module andgo work syncverifies the workspace graph. A post-rebase refresh advanced the newly releasedplan9statspseudo-version and aligned plugin references with the updatedmainserver commit.The open Go Dependabot PR #866 is fully covered by this branch. The security-alert audit also found the transitive ASIC-rs vulnerability, which is not fixed by the open Rust update PR #867; this PR patches that runtime dependency directly. The remaining open React Router alert is client-only and stays outside this server-focused change.
Areas of the code involved
server/go.mod,server/go.sumplan9statspseudo-versionplugin/protoplugin/antminer,plugin/virtualplugin/asicrs/Cargo.lockquinn-protofrom 0.11.14 to patched 0.11.15tests/plugin-contractgo.work.sumKey technical decisions & trade-offs
go get -u -t ./...workflow avoids unrelated module-path major migrations.quinn-protois a runtime dependency of ASIC-rs and the open Rust Dependabot PR does not update it; unrelated Rust and client dependency updates remain in their own PRs.just test-contractreadstests/plugin-contract/go.modverbatim to select thegolang:1.26.5-alpineimage, so it intentionally tracks the workspace toolchain patch.Testing & validation
go mod verify, with no remaining direct dependency updates reported bygo list -m -u.quinn-proto0.11.15.govulncheck ./...reports zero reachable vulnerabilities in all seven Go modules. The server graph retains one module-only advisory for the unimported, unmaintainedgolang.org/x/crypto/openpgppackage; it has no fixed version.go work syncandgit diff --checkpassed.just genpassed before the rebase. A final local rerun was blocked while reinstalling the newly rebased client lockfile because Block's dependency-confusion filter denied npm registry access; CI's generated-code check validates the final tree.Post-Deploy Monitoring & Validation
panic,fatal,etcd,grpc,plugin exited, and repeated connection failures.