Skip to content

chore(deps): Go 1.26, pgx 5.9.2, x/crypto 0.52.0, x/text 0.43.0 - #11

Merged
rbferreira merged 1 commit into
mainfrom
chore/go-deps
Oct 10, 2026
Merged

rbferreira merged 1 commit into
mainfrom
chore/go-deps

Conversation

@rbferreira

Copy link
Copy Markdown
Owner

Supersedes #1.

Why

  • pgx 5.7.1 → 5.9.2 — Dependabot: two critical memory-safety advisories and a SQL-injection one. pgx is the Control Plane's database driver, so this is the one that matters.
  • x/crypto 0.28.0 → 0.52.0 — 17 Dependabot alerts, all in x/crypto/ssh. SeedGrid only uses bcrypt, so none is reachable, but the module is updated anyway.
  • x/text 0.37.0 → 0.43.0 — govulncheck found two vulnerabilities in it reachable from our code (GO-2026-6629, GO-2026-5970); Dependabot had not flagged them.
  • Go 1.23 → 1.26 — x/crypto 0.52 needs Go ≥ 1.25, and 1.23 is out of support. Updated in go.mod (3 modules), go.work, CI (setup-go), the Control Plane Dockerfile, build-*.sh, test-control-plane.sh and the Deployment doc (both languages).

One behaviour change from Go
Since Go 1.24, json.UnmarshalTypeError.Field names embedded structs: a wrong type in a profile file reported Profile.taxonomy.id instead of taxonomy.id. decodeError now drops the leading Go type names (jsonPath), so the error still points at the document's own path — caught by TestParseDocument_FieldPathInError.

Checked (throwaway copy, Go 1.26.9): Control Plane, Agent and tools — gofmt, vet, build, golangci-lint latest, tests (with the database), architecture and language policies; scripts job; static builds of the Agent (amd64 + arm64) and the controller; govulncheck → 0 vulnerabilities in the three modules.

🤖 Generated with Claude Code

https://claude.ai/code/session_011zryDU4fyoYBdBCFGqkQXa

Clears the Dependabot alerts on the Control Plane's runtime dependencies
(pgx: memory safety and SQL injection; x/crypto: ssh, which SeedGrid does not
use, but the module is updated anyway) and two x/text vulnerabilities that
govulncheck found reachable from our code. x/crypto 0.52 needs Go >= 1.25, so
the project moves from 1.23 (out of support) to 1.26 in go.mod, go.work, CI,
the Dockerfile and the build scripts.

Go 1.24+ names embedded structs in json.UnmarshalTypeError.Field
("Profile.taxonomy.id"); the profile import now strips them so the error still
points at the document's own path.
@rbferreira
rbferreira merged commit 90e12bd into main Oct 10, 2026
10 checks passed
@rbferreira
rbferreira deleted the chore/go-deps branch October 10, 2026 07:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant