Files
goplt/docs/content/adr/0034-go-version-upgrade.md
0x1d b4b918cba8
All checks were successful
CI / Test (pull_request) Successful in 27s
CI / Lint (pull_request) Successful in 20s
CI / Build (pull_request) Successful in 16s
CI / Format Check (pull_request) Successful in 2s
docs: ensure newline before lists across docs for MkDocs rendering
2025-11-06 10:56:50 +01:00

2.1 KiB

ADR-0034: Go Version Upgrade to 1.25.3

Status

Accepted

Context

ADR-0002 established Go 1.24.3 as the minimum required version. Since then:

  • Go 1.25.3 has been released with new features, performance improvements, and security fixes
  • The project requires access to newer language features and tooling improvements
  • Dependencies may benefit from Go 1.25.3 optimizations
  • The development team has Go 1.25.3 available and working

Decision

Upgrade from Go 1.24.3 to Go 1.25.3 as the minimum required version for the platform.

This decision supersedes ADR-0002: Go Version.

Rationale:

  • Access to latest Go features and performance improvements
  • Better security with latest patches
  • Improved tooling support and compiler optimizations
  • Ensures compatibility with latest ecosystem dependencies
  • Supports all planned features (modules, plugins, generics) with enhanced capabilities

Consequences

Positive

  • Access to latest Go features and performance improvements
  • Better security with latest patches
  • Modern tooling support with improved compiler optimizations
  • Better compatibility with latest dependency versions
  • Enhanced performance characteristics

Negative

  • Requires developers to upgrade to Go 1.25.3+
  • CI/CD must be updated to use Go 1.25.3
  • May require dependency updates for compatibility
  • Slightly higher barrier for developers still on older versions

Mitigations

  1. Clear Documentation: Update all documentation to specify Go 1.25.3 requirement
  2. CI/CD Updates: Ensure CI/CD pipelines use Go 1.25.3
  3. Version Check: Add version validation in build scripts if needed
  4. Developer Communication: Notify team of version requirement

Implementation Notes

  • Update go.mod: go 1.25.3
  • Update .github/workflows/ci.yml to use actions/setup-go@v5 with version 1.25.3
  • Update ADR-0002 to mark as Superseded
  • Update README.md and other documentation to reflect Go 1.25.3 requirement
  • Run go mod tidy to ensure dependency compatibility

References