Skip to content

Upgrade to Go 1.25 #208

@Starosdev

Description

@Starosdev

Summary

Upgrade the project from Go 1.24.6 to Go 1.25.0 to take advantage of new features and continued security support.

Why

  • Container-aware GOMAXPROCS: Go 1.25 auto-tunes GOMAXPROCS based on cgroup CPU limits (Scrutiny runs in Docker)
  • Faster JSON decoding: New encoding/json implementation benefits SMART data ingestion API
  • Smaller binaries: DWARF 5 debug info reduces binary size and link time across 10-platform build matrix
  • Unlocks shoutrrr v0.12.0: Latest fork version requires Go 1.25.3 (currently pinned to v0.8.17)
  • Security: Go 1.24 stops receiving patches when Go 1.26 ships (~Feb 2026)

Acceptance Criteria

  • go.mod updated to go 1.25.0 with toolchain go1.25.6
  • CI workflows updated (ci.yaml, release.yaml, sonarqube.yaml)
  • All Dockerfiles updated to golang:1.25-trixie
  • All existing tests pass
  • Docker image builds and deploys successfully

Additional Context

  • golang:1.25-trixie is available on Docker Hub
  • ghcr.io/packagrio/packagr:latest-golang has Go 1.24.4; set GOTOOLCHAIN=auto for compatibility
  • macOS 12 minimum (Go 1.25 drops macOS 11) - CI uses macos-latest so no impact
  • Depends on Switch to maintained shoutrrr fork (v0.8.17) #207 (shoutrrr fork migration) being merged first

Metadata

Metadata

Assignees

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions